[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