50 lines
1.4 KiB
Factor
50 lines
1.4 KiB
Factor
USING: accessors namespaces ;
|
|
USING: io.sockets.secure io.servers ;
|
|
USING: furnace.actions furnace.boilerplate ;
|
|
USING: http.server http.server.dispatchers http.server.static ;
|
|
|
|
IN: triangle-beer-league
|
|
|
|
SYMBOLS: key-password key-file dh-file ;
|
|
|
|
TUPLE: tbl < dispatcher ;
|
|
|
|
: <splash-action> ( -- action )
|
|
<page-action>
|
|
{ tbl "tbl" } >>template ;
|
|
|
|
: <schedule-action> ( -- action )
|
|
<page-action>
|
|
{ tbl "schedule" } >>template ;
|
|
|
|
: <tbl-website> ( -- responder )
|
|
tbl new-dispatcher
|
|
! "resource:work/triangle-beer-league/schedule" <static> enable-fhtml >>default
|
|
"resource:work/triangle-beer-league" <static> enable-fhtml >>default ;
|
|
! <splash-action> "" add-responder
|
|
! <schedule-action> "schedule" add-responder
|
|
! "resource:work/triangle-beer-league" <static> >>default
|
|
! <boilerplate> { tbl "tbl-common" } >>template ;
|
|
|
|
: init-testing ( -- )
|
|
"vocab:openssl/test-1.2/dh2048.pem" dh-file set-global
|
|
"vocab:openssl/test-1.2/server.pem" key-file set-global
|
|
"password" key-password set-global
|
|
<tbl-website>
|
|
main-responder set-global ;
|
|
|
|
: <tbl-secure-config> ( -- config )
|
|
<secure-config>
|
|
key-file get >>key-file
|
|
dh-file get >>dh-file
|
|
key-password get >>password ;
|
|
|
|
: <tbl-website-server> ( -- threaded-server )
|
|
<http-server>
|
|
<tbl-secure-config> >>secure-config
|
|
8080 >>insecure
|
|
8431 >>secure ;
|
|
|
|
: start-tbl-site ( -- server )
|
|
<tbl-website-server> start-server ;
|