diff options
Diffstat (limited to 'bs5/server/server.ml')
-rw-r--r-- | bs5/server/server.ml | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/bs5/server/server.ml b/bs5/server/server.ml index 2047624..c7c18e9 100644 --- a/bs5/server/server.ml +++ b/bs5/server/server.ml @@ -1,8 +1,30 @@ (* TODO *) (* Dream.origin_referrer_check *) + +let getAndPost path handler = + Dream.scope "/" [] + [ + Dream.get path handler; + Dream.post path Rsc.DreamRSC.stream_function_response; + ] + let router = Dream.router ([ + (* rendering tricks *) + Dream.get "/output.css" + (Dream.from_filesystem "./_build/default/demo" "output.css"); + Dream.get "/static/**" (Dream.static "./_build/default/client/app"); + getAndPost Router.demoRenderToString (fun _ -> + Dream.html Pages.Hydrate.toString); + getAndPost Router.demoRenderToString (fun _ -> + Dream.html Pages.Hydrate.toStatic); + (* more demos *) + getAndPost Router.demoRenderToStream Pages.Comments.handler; + getAndPost Router.demoSinglePageRSC Pages.SinglePageRSC.handler; + getAndPost Router.demoRouterRSC Pages.RouterRSC.handler; + getAndPost Router.demoServerOnlyRSC Pages.ServerOnlyRSC.handler; + (* my actual routes *) Dream.get "/root" (fun _ -> Dream.html "Roooot"); Dream.get "/login" (fun _ -> Dream.html "Welcome"); Dream.get "/blog/:poast" (fun req -> @@ -21,4 +43,4 @@ let server = @@ Middleware.Promise.count_requests @@ Middleware.Counter.count_requests router -let () = Dream.run server +let () = Dream.run ~port:4444 server |