cowboy_req:header(3)

NAME

cowboy_req:header - HTTP header

DESCRIPTION
    header(Name, Req)          -> header(Name, Req, undefined)
    header(Name, Req, Default) -> binary() | Default

    Name    :: binary()          %% lowercase; case insensitive
    Req     :: cowboy_req:req()
    Default :: any()

Return the value for the given HTTP header.

The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.

Headers can also be obtained using pattern matching:

    #{headers := #{Name := Value}} = Req.

Note that this snippet will crash if the header is missing.

ARGUMENTS

Name
    Desired HTTP header name as a lowercase binary string.

Req
    The Req object.

Default
    Default value returned when the header is missing.

RETURN VALUE

The header value is returned as a binary string. When the header is missing, the default argument is returned.

CHANGELOG
    • 2.0: Only the header value is returned, it is no longer wrapped in a tuple.
    • 1.0: Function introduced.

EXAMPLES

Get the accept header
    Accept = cowboy_req:header(<<"accept">>, Req).

Get the content-length header with a default value
    Length = cowboy_req:header(<<"content-length">>, Req, <<"0">>).

SEE ALSO

cowboy_req(3), cowboy_req:headers(3), cowboy_req:parse_header(3)