First import
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
// Copyright 2014 Claudemiro Alves Feitosa Neto. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package main
|
||||
|
||||
// {
|
||||
// "event": "pusher:subscribe",
|
||||
// "data": {
|
||||
// "channel": "the channel",
|
||||
// "auth": "the auth",
|
||||
// "channelData": "extra data"
|
||||
// }
|
||||
// }
|
||||
type SubscribeEventData struct {
|
||||
Channel string `json:"channel"`
|
||||
Auth string `json:"auth,omitempty"`
|
||||
ChannelData string `json:"channelData,omitempty"`
|
||||
}
|
||||
|
||||
type SubscribeEvent struct {
|
||||
Event string `json:"event"`
|
||||
Data SubscribeEventData `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new subscribe event with the specified channel and data
|
||||
func NewSubscribeEvent(channel, auth, channelData string) SubscribeEvent {
|
||||
data := SubscribeEventData{Channel: channel, Auth: auth, ChannelData: channelData}
|
||||
return SubscribeEvent{Event: "pusher:subscribe", Data: data}
|
||||
}
|
||||
|
||||
type UnsubscribeEventData struct {
|
||||
Channel string `json:"channel"`
|
||||
}
|
||||
|
||||
// {
|
||||
// "event": "pusher:unsubscribe",
|
||||
// "data": {
|
||||
// "channel": "The channel"
|
||||
// }
|
||||
// }
|
||||
type UnsubscribeEvent struct {
|
||||
Event string `json:"event"`
|
||||
Data UnsubscribeEventData `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new unsubscribe event for the specified channel
|
||||
func NewUnsubscribeEvent(channel string) UnsubscribeEvent {
|
||||
data := UnsubscribeEventData{Channel: channel}
|
||||
return UnsubscribeEvent{Event: "pusher:unsubscribe", Data: data}
|
||||
}
|
||||
|
||||
// {
|
||||
// "event": "pusher_internal:subscription_succeeded",
|
||||
// "channel": "the channel"
|
||||
// }
|
||||
type SubscriptionSucceededEvent struct {
|
||||
Event string `json:"event"`
|
||||
Channel string `json:"channel"`
|
||||
}
|
||||
|
||||
// Create a new subscription succeed event for the specified channel
|
||||
func NewSubscriptionSucceededEvent(channel string) SubscriptionSucceededEvent {
|
||||
return SubscriptionSucceededEvent{Event: "pusher_internal:subscription_succeeded", Channel: channel}
|
||||
}
|
||||
|
||||
// {
|
||||
// "event": "pusher:pong",
|
||||
// "data": {}
|
||||
// }
|
||||
type PongEvent struct {
|
||||
Event string `json:"event"`
|
||||
Data string `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new pong event
|
||||
func NewPongEvent() PongEvent {
|
||||
return PongEvent{Event: "pusher:pong", Data: "{}"}
|
||||
}
|
||||
|
||||
// {
|
||||
// "event": "pusher:ping",
|
||||
// "data": {}
|
||||
// }
|
||||
type PingEvent struct {
|
||||
Event string `json:"event"`
|
||||
Data string `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new ping event
|
||||
func NewPingEvent() PingEvent {
|
||||
return PingEvent{Event: "pusher:ping", Data: "{}"}
|
||||
}
|
||||
|
||||
// {
|
||||
// "event": "pusher:error",
|
||||
// "data": {
|
||||
// "message": "A Message",
|
||||
// "code": 4000
|
||||
// }
|
||||
// }
|
||||
type ErrorEventData struct {
|
||||
Message string `json:"message"`
|
||||
Code int `json:"code"`
|
||||
}
|
||||
type ErrorEvent struct {
|
||||
Event string `json:"event"`
|
||||
Data ErrorEventData `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new error event
|
||||
func NewErrorEvent(code int, message string) ErrorEvent {
|
||||
data := ErrorEventData{Message: message, Code: code}
|
||||
return ErrorEvent{Event: "pusher:error", Data: data}
|
||||
}
|
||||
|
||||
// {
|
||||
// "event" : "pusher:connection_established",
|
||||
// "data" : {
|
||||
// "socket_id" : "123456",
|
||||
// "activity_timeout" : 120
|
||||
// }
|
||||
// }
|
||||
type ConnectionEstablishedEventData struct {
|
||||
SocketId string `json:"socket_id"`
|
||||
ActivityTimeout int `json:"activity_timeout"`
|
||||
}
|
||||
|
||||
type ConnectionEstablishedEvent struct {
|
||||
Event string `json:"event"`
|
||||
Data ConnectionEstablishedEventData `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new connection established event using the specified socketId
|
||||
func NewConnectionEstablishedEvent(socketId string) ConnectionEstablishedEvent {
|
||||
data := ConnectionEstablishedEventData{SocketId: socketId, ActivityTimeout: 120}
|
||||
return ConnectionEstablishedEvent{Event: "pusher:connection_established", Data: data}
|
||||
}
|
||||
|
||||
// {
|
||||
// "event": "client-?",
|
||||
// "channel": "The channel",
|
||||
// "data": {
|
||||
// "message": "A Message"
|
||||
// }
|
||||
// }
|
||||
type ClientEventData struct {
|
||||
Message string `json:"data"`
|
||||
}
|
||||
|
||||
type ClientEvent struct {
|
||||
Event string `json:"event"`
|
||||
Channel string `json:"channel"`
|
||||
Data ClientEventData `json:"data"`
|
||||
}
|
||||
|
||||
// Create a new custom client event
|
||||
func NewClientEvent(name, channel, message string) ClientEvent {
|
||||
data := ClientEventData{Message: message}
|
||||
return ClientEvent{Event: "pusher:client-" + name, Channel: channel, Data: data}
|
||||
}
|
||||
Reference in New Issue
Block a user