Packages
req
0.1.0
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.
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/req/request.ex
defmodule Req.Request do
@moduledoc """
The Request pipeline struct.
Fields:
* `:method` - the HTTP request method
* `:uri` - the HTTP request URI
* `:headers` - the HTTP request headers
* `:body` - the HTTP request body
* `:halted` - whether the request pipeline is halted. See `halt/1`
* `:request_steps` - the list of request steps
* `:response_steps` - the list of response steps
* `:error_steps` - the list of error steps
* `:private` - a map reserved for libraries and frameworks to use.
Prefix the keys with the name of your project to avoid any future
conflicts.
"""
defstruct [
:method,
:uri,
:headers,
body: "",
halted: false,
request_steps: [],
response_steps: [],
error_steps: [],
private: %{}
]
@doc """
Gets the value for a specific private `key`.
"""
def get_private(request, key, default \\ nil) do
Map.get(request.private, key, default)
end
@doc """
Assigns a private `key` to `value`.
"""
def put_private(request, key, value) do
put_in(request.private[key], value)
end
@doc """
Halts the request pipeline preventing any further steps from executing.
"""
def halt(request) do
%{request | halted: true}
end
end