]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/furnace/boilerplate/boilerplate.factor
factor: trim using lists
[factor.git] / basis / furnace / boilerplate / boilerplate.factor
index 59f71b15242d0308edd69d8d6bef291ced2c1c85..9f4ea648ee7e9ccde8d087b4478672aa2e4ecd0b 100644 (file)
@@ -1,12 +1,12 @@
-! Copyright (c) 2008 Slava Pestov
+! Copyright (c) 2008, 2009 Slava Pestov
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel math.order namespaces furnace combinators.short-circuit
+USING: accessors kernel math.order namespaces combinators.short-circuit
 html.forms
 html.templates
 html.templates.chloe
-locals
 http.server
-http.server.filters ;
+http.server.filters
+furnace.utilities ;
 IN: furnace.boilerplate
 
 TUPLE: boilerplate < filter-responder template init ;
@@ -17,16 +17,13 @@ TUPLE: boilerplate < filter-responder template init ;
         [ ] >>init ;
 
 : wrap-boilerplate? ( response -- ? )
-    {
-        [ code>> { [ 200 = ] [ 400 499 between? ] } 1|| ]
-        [ content-type>> "text/html" = ]
-    } 1&& ;
+    { [ code>> 200 = ] [ content-type>> "text/html" = ] } 1&& ;
 
-M:: boilerplate call-responder* ( path responder -- )
+M:: boilerplate call-responder* ( path responder -- response )
     begin-form
     path responder call-next-method
-    responder init>> call
-    dup content-type>> "text/html" = [
+    responder init>> call( -- )
+    dup wrap-boilerplate? [
         clone [| body |
             [
                 body