plug_rest v0.6.1 PlugRest.Conn
Helper functions for parsing Plug connection request headers and accessing url path parameters
Summary
Functions
Returns the requested media type
Parses request date header as Erlang date/time tuples
Parses an entity tag header into a list of etags
Parses media range header into a structure that can be sorted by quality
Parses media-type header as a {type, subtype, params} tuple
Parses other accept headers into types that can be sorted by quality
Puts the media type in the connection
Sets the dynamic path segment values for a connection
Reads the dynamic segment values from a rest resource path
Types
conn :: Plug.Conn.t
media_type :: PlugRest.State.media_type
priority_type :: {media_type, float, map}
quality_type :: {String.t, float}
Functions
Specs
get_media_type(conn, Keyword.t) ::
media_type |
String.t
Returns the requested media type
Specs
parse_accept_header([]) :: []
parse_accept_header([String.t, ...]) :: [media_type]
Parses request date header as Erlang date/time tuples
Possible headers are:
- if-modified-since
- if-unmodified-since
Examples
iex > PlugRest.Conn.parse_date_header(conn, "if-modified-since")
{{2016, 7, 17}, {19, 54, 31}}
Specs
parse_entity_tag_header(conn, header) :: etags_list
Parses an entity tag header into a list of etags
Possible headers are:
- if-match
- if-none-match
Examples
iex > PlugRest.Conn.parse_entity_tag_header(conn, "if-none-match")
[{:strong, "xyzzy"}]
Specs
parse_media_range_header(conn, header) :: [priority_type]
Parses media range header into a structure that can be sorted by quality
Possible headers are:
- accept
Examples
iex > PlugRest.Conn.parse_media_range_header(conn, "accept")
[{{"text", "html", %{}}, 1.0, %{}}]
Specs
parse_media_type_header(conn, String.t) :: media_type
Parses media-type header as a {type, subtype, params} tuple
Possible headers are:
- content-type
Examples
iex > PlugRest.Conn.parse_media_type_header(conn, "content-type")
{"application", "json", %{}}
Specs
parse_quality_header(conn, String.t) :: [quality_type]
Parses other accept headers into types that can be sorted by quality
Possible headers are:
- accept-language
- accept-charset
Examples
iex > PlugRest.Conn.parse_quality_header(conn, "accept-language")
[{"da", 1.0}, {"en-gb", 0.8}, {"en", 0.7}]
Specs
put_media_type(conn, media_type) :: conn
Puts the media type in the connection
Sets the dynamic path segment values for a connection