0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Improve the manual for the new resp_header functions

This commit is contained in:
Loïc Hoguin 2017-01-04 19:21:23 +01:00
parent 3f4e79d42f
commit f34ef2ceae
No known key found for this signature in database
GPG key ID: 71366FF21851DF03
11 changed files with 79 additions and 33 deletions

View file

@ -67,11 +67,11 @@ Request body:
Response: Response:
* link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)] - Set a cookie * link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)] - Set a cookie
* link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)] - Access the named HTTP header set for the response
* link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)] - Access HTTP headers set for the response
* link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)] - Set a response header * link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)] - Set a response header
* link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)] - Set several response headers * link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)] - Set several response headers
* link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)] - Is the given response header set? * link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)] - Is the given response header set?
* link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)] - Response header
* link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)] - Response headers
* link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)] - Delete a response header * link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)] - Delete a response header
* link:man:cowboy_req:set_resp_body(3)[cowboy_req:set_resp_body(3)] - Set the response body * link:man:cowboy_req:set_resp_body(3)[cowboy_req:set_resp_body(3)] - Set the response body
* link:man:cowboy_req:has_resp_body(3)[cowboy_req:has_resp_body(3)] - Is there a response body? * link:man:cowboy_req:has_resp_body(3)[cowboy_req:has_resp_body(3)] - Is there a response body?

View file

@ -52,4 +52,7 @@ Req = cowboy_req:delete_resp_header(<<"content-type">>, Req0),
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)], link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)] link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)],
link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)],
link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)]

View file

@ -51,4 +51,7 @@ true = cowboy_req:has_resp_header(<<"content-type">>, Req).
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)], link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)],
link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)],
link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)] link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)]

View file

@ -29,7 +29,8 @@ While header names are case insensitive, Cowboy requires them
to be given as lowercase to function properly. to be given as lowercase to function properly.
Cowboy does not allow duplicate header names. Headers set Cowboy does not allow duplicate header names. Headers set
by this function may overwrite those set by `set_resp_header/3`. by this function may overwrite those set by `set_resp_header/3`
and `set_resp_headers/2`.
Use link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)] Use link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)]
instead of this function to set cookies. instead of this function to set cookies.
@ -110,6 +111,7 @@ Req = cowboy_req:reply(200, #{
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)], link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)], link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:set_resp_body(3)[cowboy_req:set_resp_body(3)], link:man:cowboy_req:set_resp_body(3)[cowboy_req:set_resp_body(3)],
link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)], link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)],
link:man:cowboy_req:push(3)[cowboy_req:push(3)] link:man:cowboy_req:push(3)[cowboy_req:push(3)]

View file

@ -2,7 +2,7 @@
== Name == Name
cowboy_req:resp_header - Access the named HTTP header set for the response cowboy_req:resp_header - Response header
== Description == Description
@ -11,18 +11,26 @@ cowboy_req:resp_header - Access the named HTTP header set for the response
resp_header(Name, Req) -> resp_header(Name, Req, undefined) resp_header(Name, Req) -> resp_header(Name, Req, undefined)
resp_header(Name, Req, Default) -> binary() | Default resp_header(Name, Req, Default) -> binary() | Default
Name :: binary() Name :: binary() %% lowercase; case insensitive
Req :: cowboy_req:req() Req :: cowboy_req:req()
Default :: any() Default :: any()
---- ----
Return the currently set response header value for the given HTTP header. Return the value for the given response header.
The response header must have been set previously using
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)] or
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)].
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.
== Arguments == Arguments
Name:: Name::
Desired response HTTP header name as a binary. Desired response header name as a lowercase binary string.
Req:: Req::
@ -34,7 +42,8 @@ Default value returned when the header is missing.
== Return value == Return value
The binary value for the given HTTP header name. The header value is returned as a binary string. When the
header is missing, the default argument is returned.
== Changelog == Changelog
@ -42,20 +51,21 @@ The binary value for the given HTTP header name.
== Examples == Examples
.Get the response header with the given name .Get the content-type response header
[source,erlang] [source,erlang]
---- ----
HeaderValue = cowboy_req:resp_header(<<"x-test-header">>, Req). Type = cowboy_req:resp_header(<<"content-type">>, Req).
---- ----
.Get the response header with the given name and a default .Get the content-type response header with a default value
[source,erlang] [source,erlang]
---- ----
HeaderValue = cowboy_req:resp_header(<<"x-test-header">>, Req, <<"bar">>). Type = cowboy_req:resp_header(<<"content-type">>, Req, <<"text/html">>).
---- ----
== See also == See also
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:resp_headers(3)] link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)] link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)]

View file

@ -2,18 +2,16 @@
== Name == Name
cowboy_req:resp_headers - Access HTTP headers set for the response cowboy_req:resp_headers - Response headers
== Description == Description
[source,erlang] [source,erlang]
---- ----
resp_headers(Req) -> cowboy:http_headers() resp_headers(Req :: cowboy_req:req()) -> cowboy:http_headers()
Req :: cowboy_req:req()
---- ----
Return all HTTP response headers. Return all response headers.
== Arguments == Arguments
@ -25,7 +23,6 @@ The Req object.
Headers are returned as a map with keys being lowercase Headers are returned as a map with keys being lowercase
binary strings, and values as binary strings. binary strings, and values as binary strings.
If no response headers have been added the empty map is returned.
== Changelog == Changelog
@ -42,4 +39,6 @@ Headers = cowboy_req:resp_headers(Req).
== See also == See also
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)] link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)]

View file

@ -86,5 +86,6 @@ Req = cowboy_req:set_resp_body(<<>>, Req0).
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)], link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:reply(3)[cowboy_req:reply(3)], link:man:cowboy_req:reply(3)[cowboy_req:reply(3)],
link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)] link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)]

View file

@ -111,5 +111,6 @@ Req = cowboy_req:set_resp_cookie(<<"sessionid">>, SessionID, [
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)], link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:reply(3)[cowboy_req:reply(3)], link:man:cowboy_req:reply(3)[cowboy_req:reply(3)],
link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)] link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)]

View file

@ -72,7 +72,10 @@ Req = cowboy_req:set_resp_header(<<"allow">>,
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)], link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)], link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)],
link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)],
link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)],
link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)], link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)],
link:man:cowboy_req:reply(3)[cowboy_req:reply(3)], link:man:cowboy_req:reply(3)[cowboy_req:reply(3)],
link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)] link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)]

View file

@ -8,22 +8,32 @@ cowboy_req:set_resp_headers - Set several response headers
[source,erlang] [source,erlang]
---- ----
set_resp_headers(Headers, Req) -> cowboy_req:req() set_resp_headers(Headers, Req :: cowboy_req:req())
-> Req
Headers :: cowboy:http_headers() Headers :: cowboy:http_headers()
Req :: cowboy_req:req()
---- ----
Add all given headers to the response headers. Set several headers to be sent with the response.
If a given header key already exists in the currently set
response-header map the given value will overwrite the old. 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.
Cowboy does not allow duplicate header names. Headers set
by this function may be overwritten by those set from the
reply functions. Likewise, headers set by this function may
overwrite headers that were set previously.
Use link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)]
instead of this function to set cookies.
== Arguments == Arguments
Headers:: Headers::
A map with keys and values as binary strings. Headers as a map with keys being lowercase binary strings,
Key values should be lowercase to function properly. and values as binary strings.
Req:: Req::
@ -31,7 +41,10 @@ The Req object.
== Return value == Return value
A request object updated with the given response headers. A new Req object is returned.
The returned Req object must be used from that point onward,
otherwise the headers will not be sent in the response.
== Changelog == Changelog
@ -39,13 +52,23 @@ A request object updated with the given response headers.
== Examples == Examples
.Get all response headers .Set several response headers
[source,erlang] [source,erlang]
---- ----
Req1 = cowboy_req:set_resp_headers(#{<<"x-header-test">> => <<"1">>}, Req0). Req = cowboy_req:set_resp_headers(#{
<<"content-type">> => <<"text/html">>,
<<"content-encoding">> => <<"gzip">>
}, Req0).
---- ----
== See also == See also
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)] link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:has_resp_header(3)[cowboy_req:has_resp_header(3)],
link:man:cowboy_req:resp_header(3)[cowboy_req:resp_header(3)],
link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)],
link:man:cowboy_req:delete_resp_header(3)[cowboy_req:delete_resp_header(3)],
link:man:cowboy_req:reply(3)[cowboy_req:reply(3)],
link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)]

View file

@ -102,6 +102,7 @@ cowboy_req:stream_body(<<"World!\n">>, fin, Req).
link:man:cowboy_req(3)[cowboy_req(3)], link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)], link:man:cowboy_req:set_resp_cookie(3)[cowboy_req:set_resp_cookie(3)],
link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)], link:man:cowboy_req:set_resp_header(3)[cowboy_req:set_resp_header(3)],
link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)],
link:man:cowboy_req:reply(3)[cowboy_req:reply(3)], link:man:cowboy_req:reply(3)[cowboy_req:reply(3)],
link:man:cowboy_req:stream_body(3)[cowboy_req:stream_body(3)], link:man:cowboy_req:stream_body(3)[cowboy_req:stream_body(3)],
link:man:cowboy_req:push(3)[cowboy_req:push(3)] link:man:cowboy_req:push(3)[cowboy_req:push(3)]