0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-15 04:30:25 +00:00

Add cowboy_req:inform/2,3

User code can now send as many 1xx responses as necessary.
This commit is contained in:
Loïc Hoguin 2017-10-29 19:52:27 +00:00
parent f4331f7c16
commit f3d6b05b86
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
11 changed files with 206 additions and 1 deletions

View file

@ -80,6 +80,7 @@ Response:
* 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:has_resp_body(3)[cowboy_req:has_resp_body(3)] - Is there a response body?
* link:man:cowboy_req:inform(3)[cowboy_req:inform(3)] - Send an informational response
* link:man:cowboy_req:reply(3)[cowboy_req:reply(3)] - Send the response
* link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)] - Send the response headers
* link:man:cowboy_req:stream_body(3)[cowboy_req:stream_body(3)] - Stream the response body

View file

@ -0,0 +1,83 @@
= cowboy_req:inform(3)
== Name
cowboy_req:inform - Send an informational response
== Description
[source,erlang]
----
inform(Status, Req :: cowboy_req:req())
-> inform(StatusCode, #{}, Req)
inform(Status, Headers, Req :: cowboy_req:req())
-> ok
Status :: cowboy:http_status()
Headers :: cowboy:http_headers()
----
Send an informational response.
Informational responses use a status code between 100 and 199.
They cannot include a body. This function will not use any
of the previously set headers. All headers to be sent must
be given directly.
Any number of informational responses can be sent as long as
they are sent before the proper response. Attempting to use
this function after sending a normal response will result
in an error.
The header names must be given as lowercase binary strings.
While header names are case insensitive, Cowboy requires them
to be given as lowercase to function properly.
== Arguments
Status::
The status code for the response.
Headers::
The response headers.
Header names must be given as lowercase binary strings.
Req::
The Req object.
== Return value
The atom `ok` is always returned. It can be safely ignored.
== Changelog
* *2.0*: Function introduced.
== Examples
.Send an informational response
[source,erlang]
----
Req = cowboy_req:inform(102, Req0).
----
.Send an informational response with headers
[source,erlang]
----
Req = cowboy_req:inform(103, #{
<<"link">> => <<"</style.css>; rel=preload; as=style">>,
<<"link">> => <<"</script.js>; rel=preload; as=script">>
}, Req0).
----
== See also
link:man:cowboy_req(3)[cowboy_req(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:push(3)[cowboy_req:push(3)]

View file

@ -94,5 +94,6 @@ cowboy_req:push("/static/style.css", #{
== See also
link:man:cowboy_req(3)[cowboy_req(3)],
link:man:cowboy_req:inform(3)[cowboy_req:inform(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

@ -113,5 +113,6 @@ 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_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:inform(3)[cowboy_req:inform(3)],
link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)],
link:man:cowboy_req:push(3)[cowboy_req:push(3)]

View file

@ -103,6 +103,7 @@ 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_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:inform(3)[cowboy_req:inform(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:push(3)[cowboy_req:push(3)]