EIO

ELixir server of engine.io

Usage

use EIO as standalone server

defmodule MyApp.EIO do
  use EIO.Router

  def connect(eio) do
    eio.send("connect success")
  end

  def message(eio, msg) do
    eio.send("message received")
    eio.close()
    ...
  end

  def close do
    ...
  end
end

Plug.Adapters.Cowboy.http MyApp.EIO, []

use EIO as phoenix handler

defmodule MyApp.EIO do
  use EIO.Router, at: MyApp.Endpoint

  def connect(eio) do
    eio.send("connect success")
  end

  def message(eio, msg) do
    eio.send("message received")
    ...
  end

  def close do
    ...
  end
end

defmodule MyApp.Endpoint do
  use Phoenix.Endpoint, otp_app: :phonenix_maru

  plug EIO.Plugs.Forword, to: MyApp.EIO
  ...
  plug :router, MyApp.Endpoint
end

TODO