cowboy_req:scheme(3)

NAME

cowboy_req:scheme - URI scheme

DESCRIPTION
    scheme(Req :: cowboy_req:req()) -> Scheme :: binary()

Return the scheme of the effective request URI.

The scheme can also be obtained using pattern matching:

    #{scheme := Scheme} = Req.

ARGUMENTS

Req
    The Req object.

RETURN VALUE

The scheme is returned as a binary. It is case insensitive.

Cowboy will only set the scheme to <<"http">> or <<"https">>.

CHANGELOG
    • 2.0: Function introduced.

EXAMPLES

Redirect HTTP to HTTPS
    init(Req0=#{scheme := <<"http">>}, State) ->
        Req = cowboy_req:reply(302, #{
            <<"location">> => cowboy_req:uri(Req, #{scheme => <<"https">>})
        }, Req0),
        {ok, Req, State};
    init(Req, State) ->
        {cowboy_rest, Req, State}.

SEE ALSO

cowboy_req(3)