Skip to content

Commit

Permalink
[new release] http, cohttp, cohttp-top, cohttp-server-lwt-unix, cohtt…
Browse files Browse the repository at this point in the history
…p-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)
  • Loading branch information
mseri committed Oct 24, 2022
1 parent a3094b7 commit 8d90425
Show file tree
Hide file tree
Showing 14 changed files with 886 additions and 0 deletions.
75 changes: 75 additions & 0 deletions packages/cohttp-async/cohttp-async.6.0.0~alpha0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
opam-version: "2.0"
synopsis: "CoHTTP implementation for the Async concurrency library"
description: """
An implementation of an HTTP client and server using the Async
concurrency library. See the `Cohttp_async` module for information
on how to use this. The package also installs `cohttp-curl-async`
and a `cohttp-server-async` binaries for quick uses of a HTTP(S)
client and server respectively.
"""
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
"Anurag Soni"
]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-cohttp"
doc: "https://mirage.github.io/ocaml-cohttp/"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
depends: [
"dune" {>= "2.9"}
"ocaml" {>= "4.08"}
"http" {= version}
"cohttp" {= version}
"async_kernel" {>= "v0.14.0"}
"async_unix" {>= "v0.14.0"}
"async" {>= "v0.14.0"}
"base" {>= "v0.11.0"}
"core" {with-test}
"core_unix" {>= "v0.14.0"}
"conduit-async" {>= "1.2.0"}
"magic-mime"
"mirage-crypto" {with-test}
"logs"
"fmt" {>= "0.8.2"}
"sexplib0"
"ppx_sexp_conv" {>= "v0.13.0"}
"ounit" {with-test}
"uri" {>= "2.0.0"}
"uri-sexp"
"ipaddr"
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
available: arch != "s390x"
url {
src:
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
checksum: [
"sha256=48226f19e0a6067694968eee390b85a6a4761bfd3dcecd511567ef7310a04529"
"sha512=1befe2ddf0b406b621f833bee95a4338071e27eca0b79c6853604758b422041f09f61a31b38984c3259ac93d46e524f6a1877e059382ef225b95567cfadaa239"
]
}
x-commit-hash: "8ecb23a436504e78da38e369307be73f0f4b8863"
60 changes: 60 additions & 0 deletions packages/cohttp-bench/cohttp-bench.6.0.0~alpha0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
opam-version: "2.0"
synopsis: "Benchmarks binaries for Cohttp"
description: """
This package contains some benchmarks for http and cohttp.
The benchmarks for the server latency will require wrk2
(https://github.com/giltene/wrk2) to run. The latency graphs
can then be generated with HdrHistogram plotter, also available
online at https://hdrhistogram.github.io/HdrHistogram/plotFiles.html."""
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
"Anurag Soni"
]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-cohttp"
doc: "https://mirage.github.io/ocaml-cohttp/"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
depends: [
"dune" {>= "2.9"}
"core" {>= "v0.13.0"}
"core_bench"
"http" {= version}
"cohttp" {= version}
"cohttp-lwt-unix" {= version}
"cohttp-server-lwt-unix" {= version}
"cohttp-async" {= version}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
url {
src:
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
checksum: [
"sha256=48226f19e0a6067694968eee390b85a6a4761bfd3dcecd511567ef7310a04529"
"sha512=1befe2ddf0b406b621f833bee95a4338071e27eca0b79c6853604758b422041f09f61a31b38984c3259ac93d46e524f6a1877e059382ef225b95567cfadaa239"
]
}
x-commit-hash: "8ecb23a436504e78da38e369307be73f0f4b8863"
62 changes: 62 additions & 0 deletions packages/cohttp-curl-async/cohttp-curl-async.6.0.0~alpha0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
opam-version: "2.0"
synopsis: "Cohttp client using Curl & Async as the backend"
description: """
An HTTP client that relies on Curl + Async for the backend. Does not require
conduit for SSL."""
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
"Anurag Soni"
]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-cohttp"
doc: "https://mirage.github.io/ocaml-cohttp/"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
depends: [
"dune" {>= "2.9"}
"ocurl"
"http" {= version}
"stringext"
"core"
"core_unix" {>= "v0.14.0"}
"async_kernel"
"async_unix"
"cohttp-async" {with-test}
"uri" {with-test & >= "4.2.0"}
"fmt" {with-test}
"ounit" {with-test}
"alcotest" {with-test}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
url {
src:
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
checksum: [
"sha256=48226f19e0a6067694968eee390b85a6a4761bfd3dcecd511567ef7310a04529"
"sha512=1befe2ddf0b406b621f833bee95a4338071e27eca0b79c6853604758b422041f09f61a31b38984c3259ac93d46e524f6a1877e059382ef225b95567cfadaa239"
]
}
x-commit-hash: "8ecb23a436504e78da38e369307be73f0f4b8863"
63 changes: 63 additions & 0 deletions packages/cohttp-curl-lwt/cohttp-curl-lwt.6.0.0~alpha0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
opam-version: "2.0"
synopsis: "Cohttp client using Curl & Lwt as the backend"
description: """
An HTTP client that relies on Curl + Lwt for the backend. Does not require
conduit for SSL."""
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
"Anurag Soni"
]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-cohttp"
doc: "https://mirage.github.io/ocaml-cohttp/"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
depends: [
"dune" {>= "2.9"}
"ocaml" {>= "4.08"}
"ocurl"
"http" {= version}
"cohttp-curl"
"stringext"
"lwt"
"uri" {with-test & >= "4.2.0"}
"alcotest" {with-test}
"cohttp-lwt-unix" {with-test}
"cohttp" {with-test}
"cohttp-lwt" {with-test}
"conduit-lwt" {with-test}
"ounit" {with-test}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
url {
src:
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
checksum: [
"sha256=48226f19e0a6067694968eee390b85a6a4761bfd3dcecd511567ef7310a04529"
"sha512=1befe2ddf0b406b621f833bee95a4338071e27eca0b79c6853604758b422041f09f61a31b38984c3259ac93d46e524f6a1877e059382ef225b95567cfadaa239"
]
}
x-commit-hash: "8ecb23a436504e78da38e369307be73f0f4b8863"
52 changes: 52 additions & 0 deletions packages/cohttp-curl/cohttp-curl.6.0.0~alpha0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
opam-version: "2.0"
synopsis: "Shared code between the individual cohttp-curl clients"
description: "Use cohttp-curl-lwt or cohttp-curl-async"
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
"Anurag Soni"
]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-cohttp"
doc: "https://mirage.github.io/ocaml-cohttp/"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
depends: [
"dune" {>= "2.9"}
"ocaml" {>= "4.08"}
"ocurl"
"http" {= version}
"stringext"
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
url {
src:
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
checksum: [
"sha256=48226f19e0a6067694968eee390b85a6a4761bfd3dcecd511567ef7310a04529"
"sha512=1befe2ddf0b406b621f833bee95a4338071e27eca0b79c6853604758b422041f09f61a31b38984c3259ac93d46e524f6a1877e059382ef225b95567cfadaa239"
]
}
x-commit-hash: "8ecb23a436504e78da38e369307be73f0f4b8863"
56 changes: 56 additions & 0 deletions packages/cohttp-eio/cohttp-eio.6.0.0~alpha0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
opam-version: "2.0"
synopsis: "CoHTTP implementation with eio backend"
description:
"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."
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
"Anurag Soni"
]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-cohttp"
doc: "https://mirage.github.io/ocaml-cohttp/"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
depends: [
"dune" {>= "2.9"}
"base-domains"
"eio" {>= "0.6"}
"eio_main" {with-test}
"mdx" {with-test}
"uri" {with-test}
"fmt"
"http" {= version}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
url {
src:
"https://github.com/mirage/ocaml-cohttp/releases/download/v6.0.0_alpha0/cohttp-eio-6.0.0.alpha0.tbz"
checksum: [
"sha256=48226f19e0a6067694968eee390b85a6a4761bfd3dcecd511567ef7310a04529"
"sha512=1befe2ddf0b406b621f833bee95a4338071e27eca0b79c6853604758b422041f09f61a31b38984c3259ac93d46e524f6a1877e059382ef225b95567cfadaa239"
]
}
x-commit-hash: "8ecb23a436504e78da38e369307be73f0f4b8863"
Loading

0 comments on commit 8d90425

Please sign in to comment.