From 3f4e79d42f7a81fa3f8e790630f71570287c2be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20L=C3=B6vdahl?= Date: Sun, 13 Nov 2016 15:39:40 +0100 Subject: Add functions for getting and setting response headers --- doc/src/manual/cowboy_req.asciidoc | 3 ++ doc/src/manual/cowboy_req.resp_header.asciidoc | 61 ++++++++++++++++++++++ doc/src/manual/cowboy_req.resp_headers.asciidoc | 45 ++++++++++++++++ .../manual/cowboy_req.set_resp_headers.asciidoc | 51 ++++++++++++++++++ 4 files changed, 160 insertions(+) create mode 100644 doc/src/manual/cowboy_req.resp_header.asciidoc create mode 100644 doc/src/manual/cowboy_req.resp_headers.asciidoc create mode 100644 doc/src/manual/cowboy_req.set_resp_headers.asciidoc (limited to 'doc/src') diff --git a/doc/src/manual/cowboy_req.asciidoc b/doc/src/manual/cowboy_req.asciidoc index bca270b..b2ddbc1 100644 --- a/doc/src/manual/cowboy_req.asciidoc +++ b/doc/src/manual/cowboy_req.asciidoc @@ -67,7 +67,10 @@ Request body: Response: * 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_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: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 diff --git a/doc/src/manual/cowboy_req.resp_header.asciidoc b/doc/src/manual/cowboy_req.resp_header.asciidoc new file mode 100644 index 0000000..84713ef --- /dev/null +++ b/doc/src/manual/cowboy_req.resp_header.asciidoc @@ -0,0 +1,61 @@ += cowboy_req:resp_header(3) + +== Name + +cowboy_req:resp_header - Access the named HTTP header set for the response + +== Description + +[source,erlang] +---- +resp_header(Name, Req) -> resp_header(Name, Req, undefined) +resp_header(Name, Req, Default) -> binary() | Default + +Name :: binary() +Req :: cowboy_req:req() +Default :: any() +---- + +Return the currently set response header value for the given HTTP header. + +== Arguments + +Name:: + +Desired response HTTP header name as a binary. + +Req:: + +The Req object. + +Default:: + +Default value returned when the header is missing. + +== Return value + +The binary value for the given HTTP header name. + +== Changelog + +* *2.0*: Function introduced. + +== Examples + +.Get the response header with the given name +[source,erlang] +---- +HeaderValue = cowboy_req:resp_header(<<"x-test-header">>, Req). +---- + +.Get the response header with the given name and a default +[source,erlang] +---- +HeaderValue = cowboy_req:resp_header(<<"x-test-header">>, Req, <<"bar">>). +---- + +== See also + +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:set_resp_header(3)[cowboy_req:set_resp_header(3)] diff --git a/doc/src/manual/cowboy_req.resp_headers.asciidoc b/doc/src/manual/cowboy_req.resp_headers.asciidoc new file mode 100644 index 0000000..804c0d0 --- /dev/null +++ b/doc/src/manual/cowboy_req.resp_headers.asciidoc @@ -0,0 +1,45 @@ += cowboy_req:resp_headers(3) + +== Name + +cowboy_req:resp_headers - Access HTTP headers set for the response + +== Description + +[source,erlang] +---- +resp_headers(Req) -> cowboy:http_headers() + +Req :: cowboy_req:req() +---- + +Return all HTTP response headers. + +== Arguments + +Req:: + +The Req object. + +== Return value + +Headers are returned as a map with keys being lowercase +binary strings, and values as binary strings. +If no response headers have been added the empty map is returned. + +== Changelog + +* *2.0*: Function introduced. + +== Examples + +.Get all response headers +[source,erlang] +---- +Headers = cowboy_req:resp_headers(Req). +---- + +== See also + +link:man:cowboy_req(3)[cowboy_req(3)], +link:man:cowboy_req:set_resp_headers(3)[cowboy_req:set_resp_headers(3)] \ No newline at end of file diff --git a/doc/src/manual/cowboy_req.set_resp_headers.asciidoc b/doc/src/manual/cowboy_req.set_resp_headers.asciidoc new file mode 100644 index 0000000..e5a0fcb --- /dev/null +++ b/doc/src/manual/cowboy_req.set_resp_headers.asciidoc @@ -0,0 +1,51 @@ += cowboy_req:set_resp_headers(3) + +== Name + +cowboy_req:set_resp_headers - Set several response headers + +== Description + +[source,erlang] +---- +set_resp_headers(Headers, Req) -> cowboy_req:req() + +Headers :: cowboy:http_headers() +Req :: cowboy_req:req() +---- + +Add all given headers to the response headers. +If a given header key already exists in the currently set +response-header map the given value will overwrite the old. + +== Arguments + +Headers:: + +A map with keys and values as binary strings. +Key values should be lowercase to function properly. + +Req:: + +The Req object. + +== Return value + +A request object updated with the given response headers. + +== Changelog + +* *2.0*: Function introduced. + +== Examples + +.Get all response headers +[source,erlang] +---- +Req1 = cowboy_req:set_resp_headers(#{<<"x-header-test">> => <<"1">>}, Req0). +---- + +== See also + +link:man:cowboy_req(3)[cowboy_req(3)], +link:man:cowboy_req:resp_headers(3)[cowboy_req:resp_headers(3)] \ No newline at end of file -- cgit v1.2.3