package sihl
The modular functional web framework
Install
Dune Dependency
Authors
Maintainers
Sources
sihl-0.1.2.tbz
sha256=69705a3a35f204acfdda62f61056e3f0ec3ef5bcd1df1508be65b066a0b1df9c
sha512=1987d211f56d0261eefbae978065a4e6781d60ad94b08597875307e5cf6e5a1b79787d9c79f784f5a9f77c35203cfd0b488841a07adfd87b0710d6fd65422b94
doc/sihl.server/Server/index.html
Module Server
Source
The web server service contains a HTTP server implementation.
Service Installation
Use the provided Sihl.Web.Server.MakeOpium
to create a web server service that uses https://github.com/rgrinberg/opium/. You need to inject a Sihl.Log.Service.Sig.SERVICE
and a Sihl.Cmd.Service.Sig.SERVICE
. Use the default implementation provided by Sihl:
module Log = Sihl.Log.Service.Make ()
module Cmd = Sihl.Cmd.Service.Make ()
module WebServer = Sihl.Web.Server.Service.Make (Cmd)
Usage
let hello_page =
Sihl.Web.Route.get "/hello/" (fun _ ->
Sihl.Web.Res.(html |> set_body "Hello!") |> Lwt.return)
let hello_api =
Sihl.Web.Route.get "/hello/" (fun _ ->
Sihl.Web.Res.(json |> set_body {|{"msg":"Hello!"}|}) |> Lwt.return)
let endpoints = [ ("/page", [ hello_page ], []); ("/api", [ hello_api ], []) ]
WebServer.register_endpoints endpoints;
let* () = WebServer.start_server ctx in
...
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page