[Fencommits] fenserve: add an executable resource through which the source of other executable resources can be GET and PUT.

Benja Fallenstein benja.fallenstein at gmail.com
Thu Mar 22 19:49:06 EET 2007


Thu Mar 22 15:55:11 EET 2007  Benja Fallenstein <benja.fallenstein at gmail.com>
  * add an executable resource through which the source of other executable resources can be GET and PUT.
diff -rN -u old-fenserve/code-demo.page new-fenserve/code-demo.page
--- old-fenserve/code-demo.page	1970-01-01 02:00:00.000000000 +0200
+++ new-fenserve/code-demo.page	2007-03-22 19:49:06.000000000 +0200
@@ -0,0 +1,12 @@
+
+import Storm (getBlock, addBlock, fromUTF, toUTF)
+
+handler req = do
+    let path' = fromMaybe "/edit" $ lookM req "path"
+        
+    case rqMethod req of
+        GET -> do e <- getEntry $ splitPath path'; contents <- case e of
+                      Right (ExecutableEntry _ c) -> getBlock (bID c)
+                      _ -> return ByteString.empty
+                  mkResult 200 "text/plain" contents
+        PUT -> do putURI (splitPath $ path' ++ ".code") req
diff -rN -u old-fenserve/edit-demo.page new-fenserve/edit-demo.page
--- old-fenserve/edit-demo.page	2007-03-22 19:49:06.000000000 +0200
+++ new-fenserve/edit-demo.page	2007-03-22 19:49:06.000000000 +0200
@@ -21,10 +21,10 @@
         
     return $ mkResult 200 "text/html" $ toUTF $
         <html>
-        <h1>Edit: <% concat $ intersperse "/" path' %></h1>
+        <h1>Edit: <% path0 %></h1>
         <form action="" method="POST">
-        <textarea name="contents"><% contents %></textarea>
+        <textarea name="contents" rows="15" cols="80"><% contents %></textarea>
         <input name="path" type="hidden" value=path0/>
-        <input type="submit"/>
+        <p><input type="submit" value="Save"/></p>
         </form>
         </html>




More information about the Fencommits mailing list