tiny-httpd example
This commit is contained in:
parent
fc4b8f5b8f
commit
709718f802
6 changed files with 77 additions and 14 deletions
29
examples/runweb.ml
Normal file
29
examples/runweb.ml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
module S = Tiny_httpd
|
||||
|
||||
let asset_loader path =
|
||||
match Content.read path with None -> assert false | Some asset -> asset
|
||||
|
||||
let () =
|
||||
let server = S.create ~port:8000 () in
|
||||
S.add_route_handler ~meth:`GET server S.Route.return (fun _req ->
|
||||
S.Response.make_string
|
||||
~headers:[ ("Content-Type", "text/html") ]
|
||||
(Ok (asset_loader "index.html")) );
|
||||
|
||||
S.add_route_handler ~meth:`GET server
|
||||
S.Route.(exact "script.js" @/ return)
|
||||
(fun _req ->
|
||||
S.Response.make_string
|
||||
~headers:[ ("Content-Type", "application/javascript") ]
|
||||
(Ok (asset_loader "script.js")) );
|
||||
|
||||
S.add_route_handler ~meth:`GET server
|
||||
S.Route.(exact "style.css" @/ return)
|
||||
(fun _req ->
|
||||
S.Response.make_string
|
||||
~headers:[ ("Content-Type", "text/css") ]
|
||||
(Ok (asset_loader "style.css")) );
|
||||
|
||||
Printf.printf "listening on http://%s:%d\n%!" (S.addr server) (S.port server);
|
||||
ignore @@ Sys.command "xdg-open http://localhost:8000";
|
||||
ignore (match S.run server with Ok () -> () | Error e -> raise e)
|
||||
Loading…
Add table
Add a link
Reference in a new issue