]> gitweb.factorcode.org Git - factor.git/blob - basis/furnace/referrer/referrer.factor
Move web framework to basis
[factor.git] / basis / furnace / referrer / referrer.factor
1 USING: accessors kernel
2 http.server http.server.filters http.server.responses
3 furnace ;
4 IN: furnace.referrer
5
6 TUPLE: referrer-check < filter-responder quot ;
7
8 C: <referrer-check> referrer-check
9
10 M: referrer-check call-responder*
11     referrer over quot>> call
12     [ call-next-method ]
13     [ 2drop 403 "Bad referrer" <trivial-response> ] if ;
14
15 : <check-form-submissions> ( responder -- responder' )
16     [ same-host? post-request? not or ] <referrer-check> ;