Skip to content
/ pusher Public
forked from bleuropa/pusher

Elixir library to access the Pusher REST API.

License

Notifications You must be signed in to change notification settings

Eein/pusher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pusher Build Status Hex pm

Description

Elixir library to access the Pusher REST API.

Usage

Rest client

Define your Pusher.Client

ciient = %Pusher.Client{app_id: "app_id", app_key: "app_key", secret: "my_secret"}
ciient = %Pusher.Client{endpoint: "https://my_custom_pusher:8080", app_id: "app_id", app_key: "app_key", secret: "my_secret"}
Pusher.trigger(client, "message", %{ text: "Hello!" }, "chat-channel")

To get occupied channels:

Pusher.channels(client)

To get users connected to a presence channel

Pusher.users(client, "presence-demo")

Websocket client

Usage

iex> {:ok, pid} = Pusher.WS.start_link("ws://localhost:8080", "app_key", "secret", stream_to: self)
{:ok, #PID<0.134.0>}
iex> Pusher.WS.subscribe!(pid, "channel")
:ok
iex> Pusher.WS.subscribe!(pid, "presence-channel", %PusherClient.User{id: "123", info: %{a: "b"}})
:ok
# self will receive messages like this:
%{channel: nil,
  data: %{"activity_timeout" => 120,
    "socket_id" => "b388664a-3278-11e4-90df-7831c1bf9520"},
  event: "pusher:connection_established"}

%{channel: "channel", data: %{}, event: "pusher:subscription_succeeded"}

That's it!

You can disconnect too:

iex> Pusher.WS.disconnect!(pid)
:stop

About

Elixir library to access the Pusher REST API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%