raxx v0.7.1 Raxx.Request

HTTP requests to a Raxx application are encapsulated in a Raxx.Request struct.

The contents are itemised below:

hostThe location of the hosting server, as a binary. e.g. www.example.com.
portThe connection port on the server, as an integer.
methodThe HTTP request method, such as “GET” or “POST”, as a binary. This cannot ever be an empty string, and is always uppercase.
mountThe segments of the request URL’s “path”, that have already been matched. Same as rack path_info. This may be an empty array, if the requested URL targets the application root.
pathThe remainder of the request URL’s “path”, split into segments. It designates the virtual “location” of the request’s target within the application. This may be an empty array, if the requested URL targets the application root.
queryThe query parameters from the URL search string, formatted as a map of strings.
headersThe headers from the HTTP request as a map of strings. Note all headers will be downcased, e.g. %{"content-type" => "text/plain"}
bodyThe body content sent with the request

Summary

Types

cookies :: %{optional(binary) => binary}
request :: %Raxx.Request{body: binary, headers: [{binary, binary}], host: binary, method: binary, mount: [binary], path: [binary], port: :inet.port_number, query: %{optional(binary) => binary}}

Functions

content_type(map)

content type is a field of type media type (same as Accept) https://tools.ietf.org/html/rfc7231#section-3.1.1.5

Content type should be send with any content. If not can assume “application/octet-stream” or try content sniffing. because of security risks it is recommended to be able to disable sniffing

parse_cookies(map)

Specs

parse_cookies(request) :: cookies

Fetches and parse cookies from the request.

split_path(path_string)