forked from ocaml/opam-repository
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ocaml#26465 from aantron/dream-alpha7
Dream 1.0.0~alpha7: tidy Web framework
- Loading branch information
Showing
1 changed file
with
106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
opam-version: "2.0" | ||
|
||
synopsis: "Tidy, feature-complete Web framework" | ||
tags: ["http" "web" "framework" "websocket" "graphql" "server" "http2" "tls"] | ||
|
||
description: """ | ||
Dream is a feature-complete Web framework with a simple programming | ||
model and no boilerplate. It provides only two data types, request and | ||
response. | ||
|
||
Almost everything else is either a built-in OCaml type, or an | ||
abbreviation for a bare function. For example, a Web app, known in | ||
Dream as a handler, is just an ordinary function from requests to | ||
responses. And a middleware is then just a function from handlers to | ||
handlers. | ||
|
||
Within this model, Dream adds: | ||
|
||
- Session management with pluggable back ends. | ||
- A fully composable router. | ||
- Support for HTTP/1.1, HTTP/2, and HTTPS. | ||
- WebSockets. | ||
- GraphQL, including subscriptions and a built-in GraphiQL editor. | ||
- SQL connection pool helpers. | ||
- Server-side HTML templates. | ||
- Automatic secure handling of cookies and forms. | ||
- Unified, internationalization-friendly error handling. | ||
- A neat log, and OCaml runtime configuration. | ||
- Helpers for Web formats, such as Base64url, and a modern cipher. | ||
|
||
Because of the simple programming model, everything is optional and | ||
composable. It is trivailly possible to strip Dream down to just a | ||
bare driver of the various HTTP protocols. | ||
|
||
Dream is presented as a single module, whose API is documented on one | ||
page. In addition, Dream comes with a large number of examples. | ||
Security topics are introduced throughout, wherever they are | ||
applicable.""" | ||
|
||
license: "MIT" | ||
homepage: "https://github.com/aantron/dream" | ||
doc: "https://aantron.github.io/dream" | ||
bug-reports: "https://github.com/aantron/dream/issues" | ||
dev-repo: "git+https://github.com/aantron/dream.git" | ||
|
||
author: "Anton Bachin <[email protected]>" | ||
maintainer: "Anton Bachin <[email protected]>" | ||
|
||
depends: [ | ||
"base-unix" | ||
"bigarray-compat" | ||
"camlp-streams" | ||
"caqti" {>= "2.0.0"} | ||
"caqti-lwt" {>= "2.0.0"} | ||
("conf-libev" {os != "win32"} | "ocaml" {os = "win32"}) | ||
"cstruct" {>= "6.0.0"} | ||
"digestif" {>= "0.7"} # to_raw_string. | ||
"dream-httpaf" {>= "1.0.0~alpha3"} | ||
"dream-pure" {>= "1.0.0~alpha2"} | ||
"dune" {>= "2.7.0"} # --instrument-with. | ||
"fmt" {>= "0.8.7"} # `Italic. | ||
"graphql_parser" | ||
"graphql-lwt" | ||
"lambdasoup" {>= "0.6.1"} | ||
"lwt" | ||
"lwt_ppx" {>= "1.2.2"} | ||
"lwt_ssl" | ||
"logs" {>= "0.5.0"} | ||
"magic-mime" | ||
"markup" {>= "1.0.2"} | ||
"mirage-clock" {>= "3.0.0"} # now_d_ps : unit -> int * int64. | ||
"mirage-crypto" {>= "1.0.0"} | ||
"mirage-crypto-rng" {>= "1.0.0"} | ||
"mirage-crypto-rng-lwt" | ||
"multipart_form" {>= "0.4.0"} | ||
"multipart_form-lwt" | ||
"ocaml" {>= "4.08.0"} | ||
"ptime" {>= "0.8.1"} # Ptime.v. | ||
"ssl" {>= "0.5.8"} # Ssl.get_negotiated_alpn_protocol. | ||
"uri" {>= "4.2.0"} | ||
"yojson" # ... | ||
|
||
# Testing, development. | ||
"alcotest" {with-test} | ||
"bisect_ppx" {with-test & >= "2.5.0"} # --instrument-with. | ||
"caqti-driver-postgresql" {with-test} | ||
"caqti-driver-sqlite3" {with-test} | ||
"crunch" {with-test} | ||
"html_of_jsx" {with-test} | ||
"js_of_ocaml" {with-test} | ||
"js_of_ocaml-ppx" {with-test} | ||
"ppx_expect" {with-test & >= "v0.15.0"} # Formatting changes. | ||
"ppx_yojson_conv" {with-test} | ||
"reason" {with-test} | ||
"tyxml" {with-test & >= "4.5.0"} | ||
"tyxml-jsx" {with-test} | ||
] | ||
|
||
build: [ | ||
["dune" "build" "-p" name "-j" jobs] | ||
] | ||
|
||
url { | ||
src: "https://github.com/aantron/dream/releases/download/1.0.0-alpha7/dream-1.0.0-alpha7.tar.gz" | ||
checksum: "sha256=b715cecf7e2b249335c8d1cd22c3e87017e40c0556774d209f338f9d78388c86" | ||
} |