Packages
bandit
0.3.8
1.12.0
1.11.1
1.11.0
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
retired
1.9.0
1.8.0
1.7.0
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.0
1.2.3
1.2.2
1.2.1
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-pre.18
1.0.0-pre.17
1.0.0-pre.16
1.0.0-pre.15
1.0.0-pre.14
1.0.0-pre.13
1.0.0-pre.12
1.0.0-pre.11
1.0.0-pre.10
1.0.0-pre.9
1.0.0-pre.8
1.0.0-pre.7
1.0.0-pre.6
1.0.0-pre.5
1.0.0-pre.4
1.0.0-pre.3
1.0.0-pre.2
1.0.0-pre.1
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
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.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.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.2.3
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
A pure-Elixir HTTP server built for Plug & WebSock apps
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/bandit/adapter.ex
defmodule Bandit.Adapter do
@moduledoc """
Defines behaviour to be implemented by HTTP Adapters in addition
to those defined by `Plug.Conn.Adapter`.
"""
@typedoc """
The requested URI exactly as it appears in the request line at the beginning
of an HTTP request, NOT broken up into path & query components.
"""
@type request_uri :: String.t()
@doc """
Returns the initial connection data (method, request URI and headers) for a
client connection.
"""
@callback read_headers(Plug.Conn.Adapter.payload()) ::
{:ok, Plug.Conn.headers(), Plug.Conn.method(), request_uri(),
Plug.Conn.Adapter.payload()}
| {:error, String.t()}
@doc """
Returns the local connection info (port, IP and SSL certificate) for a connection.
"""
@callback get_local_data(Plug.Conn.Adapter.payload()) :: Plug.Conn.Adapter.peer_data()
@doc """
Returns whether or not this connection is secure
"""
@callback secure?(Plug.Conn.Adapter.payload()) :: boolean()
defmodule UnreadHeadersError do
defexception(message: "Headers have not been read yet")
@moduledoc """
Raised by bandit adapters if they are commanded to send a request before request headers
have been read.
"""
end
defmodule AlreadyReadError do
defexception(message: "Body has already been read")
@moduledoc """
Raised by bandit adapters if they are commanded to read a body which already been read.
"""
end
end