1 ! Copyright (c) 2008, 2009 Slava Pestov
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors combinators.short-circuit furnace.utilities
4 html.forms html.templates html.templates.chloe http.server
5 http.server.filters kernel ;
6 IN: furnace.boilerplate
8 TUPLE: boilerplate < filter-responder template init ;
10 : <boilerplate> ( responder -- boilerplate )
15 : wrap-boilerplate? ( response -- ? )
16 { [ code>> 200 = ] [ content-type>> "text/html" = ] } 1&& ;
18 M:: boilerplate call-responder* ( path responder -- response )
20 path responder call-next-method
21 responder init>> call( -- )
22 dup wrap-boilerplate? [
26 responder template>> resolve-template-path <chloe>