summaryrefslogtreecommitdiff
path: root/bs5/server/server.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bs5/server/server.ml')
-rw-r--r--bs5/server/server.ml24
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