package http-cookie

  1. Overview
  2. Docs
HTTP cookie library for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

http-cookie-v4.1.0.tbz
sha256=d8dd3505bee94e38d731cae08b7a33a5be3d8ed625c0c47f657d8784e633be02
sha512=1118980e056bece4ebf6ecf24bd6eaa575c8cda1ae37b921ddb044f30cdc42a77c98cf99763a808b45fbb84a55d4abdd1b41a1def6aa037ee7dd797b17365ac6

Description

OCaml library to manipulate HTTP cookie. Adheres to RFC 6265.

Published: 18 Aug 2021

README

Cookies

A comprehensive and strict standards compliant HTTP cookies library for ocaml. API Documentation

http-cookie supports consuming and creating HTTP cookies found in HTTP request Cookie header and in Set-Cookie header in HTTP response. The library validates all cookie attributes, cookie name and cookie value for standards conformance and correct usage. The validation suite is comprehensive and includes validation of domain name, IPv4, IPv6 and HTTP date-time formats.

The RFC standards implemented by the library are:

Usage

# #require "http-cookie";;
# #install_printer Http_cookie.pp;;

HTTP Cookie header value:

# let s = "SID=234234asdasdasda" in
  let c = List.nth (Http_cookie.of_cookie s |> Result.get_ok) 0 in 
  let s1 = Http_cookie.to_cookie c in 
  s = s1 ;;
- : bool = true

HTTP Set-Cookie header value:

# let s = "SID=31d4d96e407aad42; Path=/; Domain=ffff::0234:ddd:192.168.0.1; Expires=Sun, 06 Nov 1994 08:49:37 GMT; Secure; HttpOnly" in
  let c = Http_cookie.of_set_cookie s |> Result.get_ok in
  let s2 = Http_cookie.to_set_cookie c in 
  s = s2
- : bool = true

Create HTTP cookie:

# Http_cookie.create ~path:"/home" ~domain:"eee:aaa:abdf::223:192.168.0.1" ~secure:true ~same_site:`Strict ~name:"SID" "31d4d96e407aad42";;
- : (Http_cookie.t, string) result =
Ok
 name: SID
 value: 31d4d96e407aad42
 path: /home
 domain: eee:aaa:abdf::223:192.168.0.1
 expires:
 max_age:
 secure: true
 http_only: false
 same_site: Strict
 extension:

Dependencies (4)

  1. angstrom >= "0.15.0"
  2. fmt >= "0.8.9"
  3. ocaml >= "4.10.0"
  4. dune >= "2.8"

Dev Dependencies (3)

  1. odoc with-doc
  2. mdx with-test & < "2.0"
  3. ppx_expect with-test

Used by

None

Conflicts

None