]> gitweb.factorcode.org Git - factor.git/blob - basis/furnace/recaptcha/example/example.factor
Merge branch 'master' of git://factorcode.org/git/factor into constraints
[factor.git] / basis / furnace / recaptcha / example / example.factor
1 ! Copyright (C) 2009 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors db.sqlite furnace.actions furnace.alloy
4 furnace.conversations furnace.recaptcha furnace.redirection
5 html.templates.chloe.compiler http.server
6 http.server.dispatchers http.server.responses io.streams.string
7 kernel urls xml.syntax ;
8 IN: furnace.recaptcha.example
9
10 TUPLE: recaptcha-app < dispatcher recaptcha ;
11
12 : recaptcha-db ( -- obj ) "recaptcha-example" <sqlite-db> ;
13
14 : <recaptcha-challenge> ( -- obj )
15     <page-action>
16         [
17             begin-conversation
18             validate-recaptcha
19             recaptcha-valid? cget
20             "?good" "?bad" ? >url <continue-conversation>
21         ] >>submit
22         { recaptcha-app "example" } >>template ;
23
24 : <recaptcha-app> ( -- obj )
25     \ recaptcha-app new-dispatcher
26         <recaptcha-challenge> "" add-responder
27         <recaptcha>
28         "concatenative.org" >>domain
29         "6LeJWQgAAAAAAFlYV7SuBClE9uSpGtV_ZS-qVON7" >>public-key
30         "6LeJWQgAAAAAALh-XJgSSQ6xKygRgJ8-029Ip2Xv" >>private-key
31         recaptcha-db <alloy> ;