View Source TestServer.HTTPServer behaviour (TestServer v0.1.18)

HTTP server adapter module.

Usage

defmodule MyApp.MyHTTPServer do
  @behaviour TestServer.HTTPServer

  @impl true
  def start(instance, port, scheme, tls_options, server_options) do
    # ...
  end

  def stop(instance, server_options) do
    # ...
  end

  def get_socket_pid(conn) do
    # ...
  end
end

Summary

Types

instance()

@type instance() :: pid()

options()

@type options() :: [tls: keyword(), ipfamily: :inet | :inet6]

port_number()

@type port_number() :: :inet.port_number()

scheme()

@type scheme() :: :http | :https

server_options()

@type server_options() :: keyword()

Callbacks

get_socket_pid(t)

@callback get_socket_pid(Plug.Conn.t()) :: pid()

start(instance, port_number, scheme, options, server_options)

@callback start(instance(), port_number(), scheme(), options(), server_options()) ::
  {:ok, pid(), server_options()} | {:error, any()}

stop(instance, server_options)

@callback stop(instance(), server_options()) :: :ok | {:error, any()}