]> git.armaanb.net Git - bettersearch.git/blobdiff - server.rkt
Add basic web server stuff
[bettersearch.git] / server.rkt
diff --git a/server.rkt b/server.rkt
new file mode 100644 (file)
index 0000000..7f7562f
--- /dev/null
@@ -0,0 +1,35 @@
+#lang racket
+
+(require web-server/servlet)
+(require web-server/formlets)
+(require web-server/servlet-env)
+
+(require "bettersearch.rkt")
+
+(define-values (dispatch generate-url)
+  (dispatch-rules
+    [("")       do-index]
+    [("search") do-search]
+    ))
+
+(define (do-search req)
+  (define binds (request-bindings req))
+  (define query (if
+                 (exists-binding? 'q binds)
+                 (extract-binding/single 'q binds)
+                 ""))
+
+  (if (non-empty-string? query)
+    (response/xexpr `(html
+                      (h1 "Search results")
+                      (fetch-results query)
+                      ))
+    (response/xexpr `(html
+                      (h1 "ho")
+                      ))
+    )
+  )
+
+(serve/servlet dispatch
+              #:command-line? #t
+              #:servlet-regexp #rx"")