Page
Library
Module
Module type
Parameter
Class
Class type
Source
Http_cookieSourceA comprehensive and standards compliant HTTP cookies library for ocaml.
HTTP cookie is serialized as follows:
Cookie header in a HTTP requestSet-Cookie header in a HTTP response.The library supports consuming and creating HTTP cookie in both requests and responses.
The standard implemented by the library is RFC 6265.
Represents 'Same-site' cookie attribute. See https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00.
Represents a cookie name-value in Cookie request header or a set of cookie attributes in Set-Cookie response header.
type date_time = {year : int;Four digit year value, e.g. 2020, 2019, 1980 etc.
*)month : int;Begins from 0, i.e. January = 0.
*)weekday : [ `Sun | `Mon | `Tue | `Wed | `Thu | `Fri | `Sat ];day_of_month : int;Day of the month value from 1 - 31.
*)hour : int;24 hour value from 0-23
*)minutes : int;Minutes value from 0 - 59
*)seconds : int;Seconds value from 0 - 60
*)}val create :
?path:string ->
?domain:string ->
?expires:date_time ->
?max_age:int ->
?secure:bool ->
?http_only:bool ->
?same_site:Same_site.t ->
?extension:string ->
string ->
value:string ->
tcreate ~path ~domain ~expires ~max_age ~secure ~http_only ~same_site ~extension name ~value returns a cookie instance t with cookie name name and value value along with the given attributes.
of_cookie_header s parses s - a string value which represents HTTP Cookie header value as defined in https://tools.ietf.org/html/rfc6265#section-4.2 and returns a list of Cookies.
Examples
This returns two cookies with cookie names SID and lang-en.
Http_cookie.of_cookie_header "SID=31d4d96e407aad42; lang=en-US" to_set_header c serializes cookie c into a string which can be encoded as value for HTTP Set-Cookie header.
The datetime format for expires attribute is specified in RFC 2616
Example of a string returned by the function,
SID=31d4d96e407aad42; Path=/; Secure; HttpOnly; Expires=Sun, 06 Nov 1994 08:49:37 GMT
to_cookie_header c serializes c into a string which can be encoded as value for HTTP Cookie header.
Example of a string returned by the function.
SID=31d4d96e407aad42
Cookie attributes are defined precisely at RFC 6262
name t returns a cookie name.
See cookie-name
value t returns a cookie value.
See cookie-value
path t returns cookie path attribute.
See cookie-path
domain t returns cookie domain attribute.
See cookie-domain
expires t returns a coookie expires attribute.
See cookie-expires
max_age t returns a cookie max_age attribute.
See max-age and max-age-av
secure t returns a secure attribute.
See cookie-secure
same_site t returns a same_site attribute.
See same-site
extension t returns a cookie extension value.
See cookie-extension
compare c1 c2 returns 0 if c1 and c2 are equal, a positive integer if c1 is greater than c2 and a negative integer if c1 is less than c2