Pushest v0.2.2 Pushest.Socket.Data.Frame View Source
Structure representing a Frame being passed between Pushest and Pusher server. Includes methods constructing Frame structure for various pusher events. This module handles encode/decode actions for a Frame.
Link to this section Summary
Functions
Decodes frame from stringified JSON to Frame struct
Encodes Frame struct to stringified JSON
Returns Frame struct representing an event being sent to the Pusher
Returns Frame struct representing subscribe event being sent to the Pusher
Returns Frame struct representing unsubscribe event being sent to the Pusher
Link to this section Functions
Decodes frame from stringified JSON to Frame struct.
Examples
iex> Pushest.Socket.Data.Frame.decode!("{\"event\":\"first-event\",\"data\":null,\"channel\":\"public-channel\"}")
%Pushest.Socket.Data.Frame{channel: "public-channel", event: "first-event"}
iex> Pushest.Socket.Data.Frame.decode!("{\"event\":\"first-event\",\"data\":{\"test\":1},\"channel\":\"public-channel\"}")
%Pushest.Socket.Data.Frame{channel: "public-channel", event: "first-event", data: %{"test" => 1}}
Encodes Frame struct to stringified JSON.
Examples
iex> Pushest.Socket.Data.Frame.encode!(%Pushest.Socket.Data.Frame{
...> channel: "public-channel", event: "first-event"
...> })
"{\"event\":\"first-event\",\"data\":null,\"channel\":\"public-channel\"}"
iex> Pushest.Socket.Data.Frame.encode!(%Pushest.Socket.Data.Frame{
...> channel: "public-channel",
...> event: "first-event",
...> data: %{name: "stepnivlk"}
...> })
"{\"event\":\"first-event\",\"data\":{\"name\":\"stepnivlk\"},\"channel\":\"public-channel\"}"
Returns Frame struct representing an event being sent to the Pusher.
Examples
iex> Pushest.Socket.Data.Frame.event("private-chnl", "evnt", %{name: "stepnivlk"})
%Pushest.Socket.Data.Frame{
channel: "private-chnl",
data: %{name: "stepnivlk"},
event: "client-evnt"
}
Returns Frame struct representing subscribe event being sent to the Pusher.
Examples
iex> Pushest.Socket.Data.Frame.subscribe("private-chnl", "auth")
%Pushest.Socket.Data.Frame{
event: "pusher:subscribe",
data: %Pushest.Socket.Data.SubscriptionData{
auth: "auth",
channel: "private-chnl",
channel_data: %{}
},
channel: nil
}
iex> Pushest.Socket.Data.Frame.subscribe("private-chnl", "auth", %{user_id: 1})
%Pushest.Socket.Data.Frame{
event: "pusher:subscribe",
data: %Pushest.Socket.Data.SubscriptionData{
auth: "auth",
channel: "private-chnl",
channel_data: %{user_id: 1}
},
channel: nil
}
Returns Frame struct representing unsubscribe event being sent to the Pusher.
Examples
iex> Pushest.Socket.Data.Frame.unsubscribe("private-chnl")
%Pushest.Socket.Data.Frame{
event: "pusher:unsubscribe",
data: %Pushest.Socket.Data.SubscriptionData{channel: "private-chnl"}
}