summaryrefslogtreecommitdiff
path: root/bs5/server/server.ml
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-06-15 04:59:49 +0700
committerpolwex <polwex@sortug.com>2025-06-15 04:59:49 +0700
commit71c20233ff79e696d0eeca2ce1462d3083fbcfed (patch)
tree4491f680fb6fe65e9d8606764c7000396856e93e /bs5/server/server.ml
parent241dc9c99bed4dddbc748aad54cee5bf7d77ab92 (diff)
and were done, just like that
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