No description
  • OCaml 89.6%
  • Makefile 7.8%
  • Dune 2.6%
Find a file
2022-04-09 12:24:29 +02:00
.github/workflows WIP 2021-07-26 19:57:20 +02:00
example Prepare release 0.1.0 2022-04-09 12:21:52 +02:00
lib Prepare release 0.1.0 2022-04-09 12:21:52 +02:00
.gitignore WIP 2021-07-26 19:57:20 +02:00
.ocamlformat Prepare release 0.1.0 2022-04-09 12:21:52 +02:00
CHANGES.md Prepare release 0.1.0 2022-04-09 12:21:52 +02:00
dream-accept.opam Prepare release 0.1.0 2022-04-09 12:21:52 +02:00
dune-project Prepare release 0.1.0 2022-04-09 12:21:52 +02:00
LICENSE WIP 2021-07-26 19:57:20 +02:00
Makefile Cleanup Makefile 2022-04-09 12:24:29 +02:00
README.md Prepare release 0.1.0 2022-04-09 12:21:52 +02:00

Dream Accept

Actions Status

Accept headers parsing for Dream.

Usage

Here is an example of a Dream application that reads the accepted media types and the accepted languages, and generates an HTML pages with the values.

let () =
  Dream.run
  @@ Dream.logger
  @@ Dream.router
       [ Dream.get "/" (fun req ->
             let media_type =
               match Dream_accept.accepted_media_types req |> List.hd with
               | Dream_accept.Media_type (s, sub) ->
                 Printf.sprintf "%s/%s" s sub
               | Dream_accept.Any_media_subtype s ->
                 s
               | Dream_accept.Any ->
                 "*"
             in
             let language =
               match Dream_accept.accepted_languages req |> List.hd with
               | Dream_accept.Language s ->
                 s
               | Dream_accept.Any ->
                 "*"
             in
             Dream.html
               (Printf.sprintf
                  "Media type: %s<br>Language: %s"
                  media_type
                  language))
       ]