Http.ResponseSourceinclude module type of Opium_kernel.Responseval env : t -> Opium_kernel__.Hmap0.tval body : t -> Cohttp_lwt.Body.tval code : t -> Cohttp.Code.status_codemodule Fields : sig ... endval sexp_of_t : t -> Sexplib0.Sexp.tval create :
?env:Opium_kernel__.Hmap0.t ->
?body:Cohttp_lwt.Body.t ->
?headers:Cohttp.Header.t ->
?code:Cohttp.Code.status_code ->
unit ->
tval of_string_body :
?env:Opium_kernel__.Hmap0.t ->
?headers:Cohttp.Header.t ->
?code:Cohttp.Code.status_code ->
string ->
tval of_stream :
?env:Opium_kernel__.Hmap0.t ->
?headers:Cohttp.Header.t ->
?code:Cohttp.Code.status_code ->
string Lwt_stream.t ->
tval of_json :
?env:Opium_kernel.Hmap.t ->
?headers:Cohttp.Header.t ->
?code:Cohttp.Code.status_code ->
Yojson.Safe.t ->
tval of_response_body : (Cohttp.Response.t * Cohttp_lwt.Body.t) -> tto_jsonto_json t parses the body of the response t as a JSON structure. If the body of the response cannot be parsed as a JSON structure, None is returned. Use to_json_exn to raise an exception instead.
Example
let response = Response.of_json (`Assoc [ "Hello", `String "World" ])
let body = Response.to_json responsebody will be:
`Assoc [ "Hello", `String "World" ] to_json_exnto_json_exn t parses the body of the response t as a JSON structure. If the body of the response cannot be parsed as a JSON structure, an Invalid_argument exception is raised. Use to_json to return an option instead.
to_plain_textto_plain_text t parses the body of the response t as a string.
Example
let response = Response.of_plain_text "Hello world!"
let body = Response.to_json responsebody will be:
"Hello world!" statusset_statusset_status status response returns a copy of response with the HTTP status set to content_type.
header key t returns the value of the header with key key in the response t. If multiple headers have the key key, only the value of the first header will be returned. If you want to return all the values if multiple headers are found, you can use headers.
headersheaders returns the values of all headers with the key key in the response t. If you want to return the value of only the first header with the key key, you can use header.
add_headeradd_header (key, value) t adds a header with the key key and the value value to the response t. If a header with the same key is already persent, a new header is appended to the list of headers regardless. If you want to add the header only if an header with the same key could not be found, you can use add_header_unless_exists. See also add_headers to add multiple headers.
add_header_or_replaceadd_header_or_replace (key, value) t adds a header with the key key and the value value to the response t. If a header with the same key already exist, its value is replaced by value. If you want to add the header only if it doesn't already exist, you can use add_header_unless_exists. See also add_headers_or_replace to add multiple headers.
add_header_unless_existsadd_header_unless_exists (key, value) t adds a header with the key key and the value value to the response t if an header with the same key does not already exist. If a header with the same key already exist, the response remains unmodified. If you want to add the header regardless of whether the header is already present, you can use add_header. See also add_headers_unless_exists to add multiple headers.
add_headersadd_headers headers response adds the headers headers to the response t. The headers are added regardless of whether a header with the same key is already present. If you want to add the header only if an header with the same key could not be found, you can use add_headers_unless_exists. See also add_header to add a single header.
add_headers_or_replaceadd_headers_or_replace (key, value) t adds a headers headers to the response t. If a header with the same key already exist, its value is replaced by value. If you want to add the header only if it doesn't already exist, you can use add_headers_unless_exists. See also add_header_or_replace to add a single header.
add_headers_unless_existsadd_headers_unless_exists headers response adds the headers headers to the response t if an header with the same key does not already exist. If a header with the same key already exist, the header is will not be added to the response. If you want to add the header regardless of whether the header is already present, you can use add_headers. See also add_header_unless_exists to add a single header.
remove_headerremove_header (key, value) t removes all the headers with the key key from the response t. If no header with the key key exist, the response remains unmodified.
content_typecontent_type response returns the value of the header Content-Type of the response response.
set_content_typeset_content_type content_type response returns a copy of response with the value of the header Content-Type set to content_type.
etagetag response returns the value of the header ETag of the response response.
set_etagset_etag etag response returns a copy of response with the value of the header ETag set to etag.
locationlocation response returns the value of the header Location of the response response.
set_locationset_location location response returns a copy of response with the value of the header Location set to location.
cache_controlcache_control response returns the value of the header Cache-Control of the response response.
set_cache_controlset_cache_control cache_control response returns a copy of response with the value of the header Cache-Control set to cache_control.
cookiecookie ?signed_with key t returns the value of the cookie with key key in the Set-Cookie header of the response t. If signed_with is provided, the cookies will be unsigned with the given Signer and only a cookie with a valid signature will be returned. If the response does not contain a valid Set-Cookie or if no cookie with the key key exist, None will be returned.
cookiescookies ?signed_with t returns all the value of the cookies in the Set-Cookie header of the response t. If signed_with is provided, the cookies will be unsigned with the given Signer and only the cookies with a valid signature will be returned. If the response does not contain a valid Set-Cookie, None will be returned.
add_cookieval add_cookie :
?sign_with:Cookie.Signer.t ->
?expires:Cookie.expires ->
?scope:Uri.t ->
?same_site:Cookie.same_site ->
?secure:bool ->
?http_only:bool ->
Cookie.value ->
t ->
tadd_cookie ?sign_with ?expires ?scope ?same_site ?secure ?http_only value t adds a cookie with value value to the response t. If a cookie with the same key already exists, its value will be replaced with the new value of value. If sign_with is provided, the cookie will be signed with the given Signer.
add_cookie_unless_existsval add_cookie_unless_exists :
?sign_with:Cookie.Signer.t ->
?expires:Cookie.expires ->
?scope:Uri.t ->
?same_site:Cookie.same_site ->
?secure:bool ->
?http_only:bool ->
Cookie.value ->
t ->
tadd_cookie_unless_exists ?sign_with ?expires ?scope ?same_site ?secure ?http_only value t adds a cookie with value value to the response t. If a cookie with the same key already exists, it will remain untouched. If sign_with is provided, the cookie will be signed with the given Signer.
remove_cookie