Packages
req
0.6.2
0.6.3
0.6.2
0.6.1
0.6.0
0.5.18
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Req is a batteries-included HTTP client for Elixir.
Current section
Files
Jump to
Current section
Files
lib/req/test/adapter.ex
if Code.ensure_loaded?(Plug.Conn) do
defmodule Req.Test.Adapter do
@behaviour Plug.Conn.Adapter
@moduledoc false
## Test helpers
def conn(conn, method, uri, body) when is_binary(body) do
conn = Plug.Adapters.Test.Conn.conn(conn, method, uri, body)
{_, state} = conn.adapter
state = Map.merge(state, %{body_read: false, has_more_body: false, raw_body: body})
%{conn | adapter: {__MODULE__, state}}
end
## Connection adapter
def read_req_body(state, opts \\ []) do
# We restore the body for the first automatic read for backwards
# compatability with Req 0.5.10 and below.
# TODO: remove in 0.6 if we allow opting out
case Plug.Adapters.Test.Conn.read_req_body(state, opts) do
{:more, body, state} ->
{:more, body, %{state | has_more_body: true}}
{:ok, body, %{has_more_body: true} = state} ->
{:ok, body, state}
{:ok, body, %{body_read: true} = state} ->
{:ok, body, state}
{:ok, body, state} ->
{:ok, body, %{state | req_body: body}}
end
end
defdelegate send_resp(state, status, headers, body), to: Plug.Adapters.Test.Conn
defdelegate send_file(state, status, headers, path, offset, length),
to: Plug.Adapters.Test.Conn
defdelegate send_chunked(state, status, headers), to: Plug.Adapters.Test.Conn
defdelegate chunk(state, body), to: Plug.Adapters.Test.Conn
defdelegate inform(state, status, headers), to: Plug.Adapters.Test.Conn
defdelegate upgrade(state, protocol, opts), to: Plug.Adapters.Test.Conn
defdelegate push(state, path, headers), to: Plug.Adapters.Test.Conn
defdelegate get_peer_data(payload), to: Plug.Adapters.Test.Conn
defdelegate get_http_protocol(payload), to: Plug.Adapters.Test.Conn
end
end