raxx v0.11.0 Raxx.ContentLength

Manipulate content-length header on raxx messages

Summary

Functions

Read content-length of the HTTP message

Set the content-length of a HTTP message

Functions

fetch(map)

Read content-length of the HTTP message.

Examples

iex> %Raxx.Request{headers: [{"content-length", "100"}]} |> Raxx.ContentLength.fetch
{:ok, 100}

iex> %Raxx.Request{headers: []} |> Raxx.ContentLength.fetch
{:error, :field_value_not_specified}

iex> %Raxx.Request{headers: [{"content-length", "garbage"}]} |> Raxx.ContentLength.fetch
{:error, :field_value_parse_failure}

iex> %Raxx.Request{headers: [{"content-length", "100garbage"}]} |> Raxx.ContentLength.fetch
{:error, :field_value_parse_failure}

iex> %Raxx.Request{headers: [{"content-length", "100"}, {"content-length", "200"}]} |> Raxx.ContentLength.fetch
{:error, :duplicated_field}
set(map, value)

Set the content-length of a HTTP message.

Examples

iex> %Raxx.Request{} |> Raxx.ContentLength.set(100) |> Map.get(:headers)
[{"content-length", "100"}]

iex> %Raxx.Request{headers: [{"content-length", "200"}]} |> Raxx.ContentLength.set(100) |> Map.get(:headers)
[{"content-length", "100"}]