Skip to content

Commit 66345be

Browse files
committed
[new release] http, cohttp, cohttp-top, cohttp-server-lwt-unix, cohttp-mirage, cohttp-lwt, cohttp-lwt-unix, cohttp-lwt-jsoo, cohttp-eio, cohttp-curl, cohttp-curl-lwt, cohttp-curl-async, cohttp-bench and cohttp-async (6.0.0~alpha0)
CHANGES: - cohttp-eio: ensure "Host" header is the first header in http client requests (bikallem mirage/ocaml-cohttp#939) - cohttp-eio: add TE header in client. Check TE header is server (bikallem mirage/ocaml-cohttp#941) - cohttp-eio: add User-Agent header to request from Client (bikallem mirage/ocaml-cohttp#940) - cohttp-eio: add Content-Length header to request/response (bikallem mirage/ocaml-cohttp#929) - cohttp-eio: add cohttp-eio client api - Cohttp_eio.Client (bikallem mirage/ocaml-cohttp#879) - http: add requires_content_length function for requests and responses (bikallem mirage/ocaml-cohttp#879) - cohttp-eio: use Eio.Buf_write and improve server API (talex5 mirage/ocaml-cohttp#887) - cohttp-eio: update to Eio 0.3 (talex5 mirage/ocaml-cohttp#886) - cohttp-eio: convert to Eio.Buf_read (talex5 mirage/ocaml-cohttp#882) - cohttp lwt client: Connection cache and explicit pipelining (madroach mirage/ocaml-cohttp#853) - http: add Http.Request.make and simplify Http.Response.make (bikallem mseri mirage/ocaml-cohttp#878) - http: add pretty printer functions (bikallem mirage/ocaml-cohttp#880) - New eio based client and server on top of the http library (bikallem mirage/ocaml-cohttp#857) - New curl based clients (rgrinberg mirage/ocaml-cohttp#813) + cohttp-curl-lwt for an Lwt backend + cohttp-curl-async for an Async backend - Completely new Parsing layers for servers (anuragsoni mirage/ocaml-cohttp#819) + Cohttp now uses an optimized parser for requests. + The new parser produces much less temporary buffers during read operations in servers. - Faster header comparison (gasche mirage/ocaml-cohttp#818) - Introduce http package containing common signatures and structures useful for compatibility with cohttp - and no dependencies (rgrinberg mirage/ocaml-cohttp#812) - async(server): allow reading number of active connections (anuragsoni mirage/ocaml-cohttp#809) - Various internal refactors (rgrinberg, mseri, mirage/ocaml-cohttp#802, mirage/ocaml-cohttp#812, mirage/ocaml-cohttp#820, mirage/ocaml-cohttp#800, mirage/ocaml-cohttp#799, mirage/ocaml-cohttp#797) - http (all cohttp server backends): Consider the connection header in response in addition to the request when deciding on whether to keep a connection alive (anuragsoni, mirage/ocaml-cohttp#843) + The user provided Response can contain a connection header. That header will also be considered in addition to the connection header in requests when deciding whether to use keep-alive. This allows a handler to decide to close a connection even if the client requested a keep-alive in the request. - async(server): allow creating a server without using conduit (anuragsoni mirage/ocaml-cohttp#839) + Add `Cohttp_async.Server.Expert.create` and `Cohttp_async.Server.Expert.create_with_response_action`that can be used to create a server without going through Conduit. This allows creating an async TCP server using the Tcp module from `Async_unix` and lets the user have more control over how the `Reader.t` and `Writer.t` are created. - http(header): faster `to_lines` and `to_frames` implementation (mseri mirage/ocaml-cohttp#847) - cohttp(cookies): use case-insensitive comparison to check for `set-cookies` (mseri mirage/ocaml-cohttp#858) - New lwt based server implementation: cohttp-server-lwt-unix + This new implementation does not depend on conduit and has a simpler and more flexible API - async: Adapt cohttp-curl-async to work with core_unix. - *Breaking changes* + refactor: move opam metadata to dune-project (rgrinberg mirage/ocaml-cohttp#811) + refactor: deprecate Cohttp_async.Io (rgrinberg mirage/ocaml-cohttp#807) + fix: move more internals to Private (rgrinberg mirage/ocaml-cohttp#806) + fix: deprecate transfer encoding field (rgrinberg mirage/ocaml-cohttp#805) + refactor: deprecate Cohttp_async.Body_raw (rgrinberg mirage/ocaml-cohttp#804) + fix: deprecate more aliases (rgrinberg mirage/ocaml-cohttp#803) + refactor: deprecate connection value(rgrinberg mirage/ocaml-cohttp#798) + refactor: deprecate using attributes (rgrinberg mirage/ocaml-cohttp#796) + cleanup: remove cohttp-{curl,server}-async (rgrinberg mirage/ocaml-cohttp#904) + cleanup: remove cohttp-{curl,server,proxy}-lwt (rgrinberg mirage/ocaml-cohttp#904) + fix: all parsers now follow the spec and require `\r\n` endings. Previously, the `\r` was optional. (rgrinberg, mirage/ocaml-cohttp#921) - `cohttp-lwt-jsoo`: do not instantiate `XMLHttpRequest` object on boot (mefyl mirage/ocaml-cohttp#922)
1 parent 46f6ac7 commit 66345be

File tree

13 files changed

+854
-0
lines changed
  • packages
    • cohttp-async/cohttp-async.6.0.0~alpha0
    • cohttp-curl-async/cohttp-curl-async.6.0.0~alpha0
    • cohttp-curl-lwt/cohttp-curl-lwt.6.0.0~alpha0
    • cohttp-curl/cohttp-curl.6.0.0~alpha0
    • cohttp-eio/cohttp-eio.6.0.0~alpha0
    • cohttp-lwt-jsoo/cohttp-lwt-jsoo.6.0.0~alpha0
    • cohttp-lwt-unix/cohttp-lwt-unix.6.0.0~alpha0
    • cohttp-lwt/cohttp-lwt.6.0.0~alpha0
    • cohttp-mirage/cohttp-mirage.6.0.0~alpha0
    • cohttp-server-lwt-unix/cohttp-server-lwt-unix.6.0.0~alpha0
    • cohttp-top/cohttp-top.6.0.0~alpha0
    • cohttp/cohttp.6.0.0~alpha0
    • http/http.6.0.0~alpha0

13 files changed

+854
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
opam-version: "2.0"
2+
synopsis: "CoHTTP implementation for the Async concurrency library"
3+
description: """
4+
An implementation of an HTTP client and server using the Async
5+
concurrency library. See the `Cohttp_async` module for information
6+
on how to use this. The package also installs `cohttp-curl-async`
7+
and a `cohttp-server-async` binaries for quick uses of a HTTP(S)
8+
client and server respectively.
9+
"""
10+
maintainer: ["Anil Madhavapeddy <[email protected]>"]
11+
authors: [
12+
"Anil Madhavapeddy"
13+
"Stefano Zacchiroli"
14+
"David Sheets"
15+
"Thomas Gazagnaire"
16+
"David Scott"
17+
"Rudi Grinberg"
18+
"Andy Ray"
19+
"Anurag Soni"
20+
]
21+
license: "ISC"
22+
homepage: "https://github.com/mirage/ocaml-cohttp"
23+
doc: "https://mirage.github.io/ocaml-cohttp/"
24+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
25+
depends: [
26+
"dune" {>= "2.9"}
27+
"ocaml" {>= "4.08"}
28+
"http" {= version}
29+
"cohttp" {= version}
30+
"async_kernel" {>= "v0.14.0"}
31+
"async_unix" {>= "v0.14.0"}
32+
"async" {>= "v0.14.0"}
33+
"base" {>= "v0.11.0"}
34+
"core" {with-test}
35+
"core_unix" {>= "v0.14.0"}
36+
"conduit-async" {>= "1.2.0"}
37+
"magic-mime"
38+
"mirage-crypto" {with-test}
39+
"logs"
40+
"fmt" {>= "0.8.2"}
41+
"sexplib0"
42+
"ppx_sexp_conv" {>= "v0.13.0"}
43+
"ounit" {with-test}
44+
"uri" {>= "2.0.0"}
45+
"uri-sexp"
46+
"ipaddr"
47+
"odoc" {with-doc}
48+
]
49+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
50+
build: [
51+
["dune" "subst"] {dev}
52+
[
53+
"dune"
54+
"build"
55+
"-p"
56+
name
57+
"-j"
58+
jobs
59+
"--promote-install-files=false"
60+
"@install"
61+
"@cohttp-async/runtest" {with-test}
62+
"@doc" {with-doc}
63+
]
64+
["dune" "install" "-p" name "--create-install-files" name]
65+
]
66+
available: opam-version >= "2.1.0" & arch != "s390x"
67+
flags: [ avoid-version ]
68+
url {
69+
src:
70+
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
71+
checksum: [
72+
"sha256=2ed4acd5ea309ca064731ec9f02a4b4afcec1ab000f471da68ae81355130b56e"
73+
"sha512=e741293352d8376eaf7ccc7ba986dc8fd33cc560b8a786d4b4f8cffde5f1d78651dd5dbb944db00e57a48f25bffdde8d6d7b8c5828605ed02f295c297ef87fdd"
74+
]
75+
}
76+
x-commit-hash: "ba9ca0791c3fd6242e28026feaa41fe4ac453089"
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
opam-version: "2.0"
2+
synopsis: "Cohttp client using Curl & Async as the backend"
3+
description: """
4+
An HTTP client that relies on Curl + Async for the backend. Does not require
5+
conduit for SSL."""
6+
maintainer: ["Anil Madhavapeddy <[email protected]>"]
7+
authors: [
8+
"Anil Madhavapeddy"
9+
"Stefano Zacchiroli"
10+
"David Sheets"
11+
"Thomas Gazagnaire"
12+
"David Scott"
13+
"Rudi Grinberg"
14+
"Andy Ray"
15+
"Anurag Soni"
16+
]
17+
license: "ISC"
18+
homepage: "https://github.com/mirage/ocaml-cohttp"
19+
doc: "https://mirage.github.io/ocaml-cohttp/"
20+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
21+
depends: [
22+
"dune" {>= "2.9"}
23+
"ocurl"
24+
"http" {= version}
25+
"stringext"
26+
"cohttp-curl" {= version}
27+
"core"
28+
"core_unix" {>= "v0.14.0"}
29+
"async_kernel"
30+
"async_unix"
31+
"cohttp-async" {with-test}
32+
"uri" {with-test & >= "4.2.0"}
33+
"fmt" {with-test}
34+
"ounit" {with-test}
35+
"alcotest" {with-test}
36+
"odoc" {with-doc}
37+
]
38+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
39+
build: [
40+
["dune" "subst"] {dev}
41+
[
42+
"dune"
43+
"build"
44+
"-p"
45+
name
46+
"-j"
47+
jobs
48+
"--promote-install-files=false"
49+
"@install"
50+
"@cohttp-curl-async/runtest" {with-test}
51+
"@doc" {with-doc}
52+
]
53+
["dune" "install" "-p" name "--create-install-files" name]
54+
]
55+
available: opam-version >= "2.1.0"
56+
flags: [ avoid-version ]
57+
url {
58+
src:
59+
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
60+
checksum: [
61+
"sha256=2ed4acd5ea309ca064731ec9f02a4b4afcec1ab000f471da68ae81355130b56e"
62+
"sha512=e741293352d8376eaf7ccc7ba986dc8fd33cc560b8a786d4b4f8cffde5f1d78651dd5dbb944db00e57a48f25bffdde8d6d7b8c5828605ed02f295c297ef87fdd"
63+
]
64+
}
65+
x-commit-hash: "ba9ca0791c3fd6242e28026feaa41fe4ac453089"
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
opam-version: "2.0"
2+
synopsis: "Cohttp client using Curl & Lwt as the backend"
3+
description: """
4+
An HTTP client that relies on Curl + Lwt for the backend. Does not require
5+
conduit for SSL."""
6+
maintainer: ["Anil Madhavapeddy <[email protected]>"]
7+
authors: [
8+
"Anil Madhavapeddy"
9+
"Stefano Zacchiroli"
10+
"David Sheets"
11+
"Thomas Gazagnaire"
12+
"David Scott"
13+
"Rudi Grinberg"
14+
"Andy Ray"
15+
"Anurag Soni"
16+
]
17+
license: "ISC"
18+
homepage: "https://github.com/mirage/ocaml-cohttp"
19+
doc: "https://mirage.github.io/ocaml-cohttp/"
20+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
21+
depends: [
22+
"dune" {>= "2.9"}
23+
"ocaml" {>= "4.08"}
24+
"ocurl"
25+
"http" {= version}
26+
"cohttp-curl" {= version}
27+
"stringext"
28+
"lwt" {>= "5.3.0"}
29+
"uri" {with-test & >= "4.2.0"}
30+
"alcotest" {with-test}
31+
"cohttp-lwt-unix" {with-test}
32+
"cohttp" {with-test}
33+
"cohttp-lwt" {with-test}
34+
"conduit-lwt" {with-test}
35+
"ounit" {with-test}
36+
"odoc" {with-doc}
37+
]
38+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
39+
build: [
40+
["dune" "subst"] {dev}
41+
[
42+
"dune"
43+
"build"
44+
"-p"
45+
name
46+
"-j"
47+
jobs
48+
"--promote-install-files=false"
49+
"@install"
50+
"@cohttp-curl-lwt/runtest" {with-test}
51+
"@doc" {with-doc}
52+
]
53+
["dune" "install" "-p" name "--create-install-files" name]
54+
]
55+
available: opam-version >= "2.1.0"
56+
flags: [ avoid-version ]
57+
url {
58+
src:
59+
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
60+
checksum: [
61+
"sha256=2ed4acd5ea309ca064731ec9f02a4b4afcec1ab000f471da68ae81355130b56e"
62+
"sha512=e741293352d8376eaf7ccc7ba986dc8fd33cc560b8a786d4b4f8cffde5f1d78651dd5dbb944db00e57a48f25bffdde8d6d7b8c5828605ed02f295c297ef87fdd"
63+
]
64+
}
65+
x-commit-hash: "ba9ca0791c3fd6242e28026feaa41fe4ac453089"
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
opam-version: "2.0"
2+
synopsis: "Shared code between the individual cohttp-curl clients"
3+
description: "Use cohttp-curl-lwt or cohttp-curl-async"
4+
maintainer: ["Anil Madhavapeddy <[email protected]>"]
5+
authors: [
6+
"Anil Madhavapeddy"
7+
"Stefano Zacchiroli"
8+
"David Sheets"
9+
"Thomas Gazagnaire"
10+
"David Scott"
11+
"Rudi Grinberg"
12+
"Andy Ray"
13+
"Anurag Soni"
14+
]
15+
license: "ISC"
16+
homepage: "https://github.com/mirage/ocaml-cohttp"
17+
doc: "https://mirage.github.io/ocaml-cohttp/"
18+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
19+
depends: [
20+
"dune" {>= "2.9"}
21+
"ocaml" {>= "4.08"}
22+
"ocurl"
23+
"http" {= version}
24+
"stringext"
25+
"odoc" {with-doc}
26+
]
27+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
28+
build: [
29+
["dune" "subst"] {dev}
30+
[
31+
"dune"
32+
"build"
33+
"-p"
34+
name
35+
"-j"
36+
jobs
37+
"--promote-install-files=false"
38+
"@install"
39+
"@cohttp-curl/runtest" {with-test}
40+
"@doc" {with-doc}
41+
]
42+
["dune" "install" "-p" name "--create-install-files" name]
43+
]
44+
available: opam-version >= "2.1.0"
45+
flags: [ avoid-version ]
46+
url {
47+
src:
48+
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
49+
checksum: [
50+
"sha256=2ed4acd5ea309ca064731ec9f02a4b4afcec1ab000f471da68ae81355130b56e"
51+
"sha512=e741293352d8376eaf7ccc7ba986dc8fd33cc560b8a786d4b4f8cffde5f1d78651dd5dbb944db00e57a48f25bffdde8d6d7b8c5828605ed02f295c297ef87fdd"
52+
]
53+
}
54+
x-commit-hash: "ba9ca0791c3fd6242e28026feaa41fe4ac453089"
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
opam-version: "2.0"
2+
synopsis: "CoHTTP implementation with eio backend"
3+
description:
4+
"A CoHTTP server and client implementation based on `eio` library. `cohttp-eio`features a multicore capable HTTP 1.1 server. The library promotes and is built with direct style of coding as opposed to a monadic."
5+
maintainer: ["Anil Madhavapeddy <[email protected]>"]
6+
authors: [
7+
"Anil Madhavapeddy"
8+
"Stefano Zacchiroli"
9+
"David Sheets"
10+
"Thomas Gazagnaire"
11+
"David Scott"
12+
"Rudi Grinberg"
13+
"Andy Ray"
14+
"Anurag Soni"
15+
]
16+
license: "ISC"
17+
homepage: "https://github.com/mirage/ocaml-cohttp"
18+
doc: "https://mirage.github.io/ocaml-cohttp/"
19+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
20+
depends: [
21+
"dune" {>= "2.9"}
22+
"base-domains"
23+
"eio" {>= "0.6"}
24+
"eio_main" {with-test}
25+
"mdx" {with-test}
26+
"uri" {with-test}
27+
"fmt"
28+
"http" {= version}
29+
"odoc" {with-doc}
30+
]
31+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
32+
build: [
33+
["dune" "subst"] {dev}
34+
[
35+
"dune"
36+
"build"
37+
"-p"
38+
name
39+
"-j"
40+
jobs
41+
"--promote-install-files=false"
42+
"@install"
43+
"@cohttp-eio/runtest" {with-test}
44+
"@doc" {with-doc}
45+
]
46+
["dune" "install" "-p" name "--create-install-files" name]
47+
]
48+
available: opam-version >= "2.1.0"
49+
flags: [ avoid-version ]
50+
url {
51+
src:
52+
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
53+
checksum: [
54+
"sha256=2ed4acd5ea309ca064731ec9f02a4b4afcec1ab000f471da68ae81355130b56e"
55+
"sha512=e741293352d8376eaf7ccc7ba986dc8fd33cc560b8a786d4b4f8cffde5f1d78651dd5dbb944db00e57a48f25bffdde8d6d7b8c5828605ed02f295c297ef87fdd"
56+
]
57+
}
58+
x-commit-hash: "ba9ca0791c3fd6242e28026feaa41fe4ac453089"
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
opam-version: "2.0"
2+
synopsis: "CoHTTP implementation for the Js_of_ocaml JavaScript compiler"
3+
description: """
4+
An implementation of an HTTP client for JavaScript, but using the
5+
CoHTTP types. This lets you build HTTP clients that can compile
6+
natively (using one of the other Cohttp backends such as `cohttp-lwt-unix`)
7+
and also to native JavaScript via js_of_ocaml.
8+
"""
9+
maintainer: ["Anil Madhavapeddy <[email protected]>"]
10+
authors: [
11+
"Anil Madhavapeddy"
12+
"Stefano Zacchiroli"
13+
"David Sheets"
14+
"Thomas Gazagnaire"
15+
"David Scott"
16+
"Rudi Grinberg"
17+
"Andy Ray"
18+
"Anurag Soni"
19+
]
20+
license: "ISC"
21+
homepage: "https://github.com/mirage/ocaml-cohttp"
22+
doc: "https://mirage.github.io/ocaml-cohttp/"
23+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
24+
depends: [
25+
"dune" {>= "2.9"}
26+
"ocaml" {>= "4.08"}
27+
"http" {= version}
28+
"cohttp" {= version}
29+
"cohttp-lwt" {= version}
30+
"logs"
31+
"lwt" {>= "3.0.0"}
32+
"lwt_ppx" {with-test}
33+
"conf-npm" {with-test}
34+
"js_of_ocaml" {>= "3.3.0"}
35+
"js_of_ocaml-ppx" {>= "3.3.0"}
36+
"js_of_ocaml-lwt" {>= "3.5.0"}
37+
"odoc" {with-doc}
38+
]
39+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
40+
build: [
41+
["dune" "subst"] {dev}
42+
[
43+
"dune"
44+
"build"
45+
"-p"
46+
name
47+
"-j"
48+
jobs
49+
"--promote-install-files=false"
50+
"@install"
51+
"@cohttp-lwt-jsoo/runtest" {with-test}
52+
"@doc" {with-doc}
53+
]
54+
["dune" "install" "-p" name "--create-install-files" name]
55+
]
56+
available: opam-version >= "2.1.0"
57+
flags: [ avoid-version ]
58+
url {
59+
src:
60+
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
61+
checksum: [
62+
"sha256=2ed4acd5ea309ca064731ec9f02a4b4afcec1ab000f471da68ae81355130b56e"
63+
"sha512=e741293352d8376eaf7ccc7ba986dc8fd33cc560b8a786d4b4f8cffde5f1d78651dd5dbb944db00e57a48f25bffdde8d6d7b8c5828605ed02f295c297ef87fdd"
64+
]
65+
}
66+
x-commit-hash: "ba9ca0791c3fd6242e28026feaa41fe4ac453089"

0 commit comments

Comments
 (0)