mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
55 lines
904 B
Text
55 lines
904 B
Text
= cowboy_req:scheme(3)
|
|
|
|
== Name
|
|
|
|
cowboy_req:scheme - URI scheme
|
|
|
|
== Description
|
|
|
|
[source,erlang]
|
|
----
|
|
scheme(Req :: cowboy_req:req()) -> Scheme :: binary()
|
|
----
|
|
|
|
Return the scheme of the effective request URI.
|
|
|
|
The scheme can also be obtained using pattern matching:
|
|
|
|
[source,erlang]
|
|
----
|
|
#{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
|
|
[source,erlang]
|
|
----
|
|
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
|
|
|
|
link:man:cowboy_req(3)[cowboy_req(3)]
|