#! /home/frew/tmp/factor/factor USING: http.client json.reader io.encodings.string io.encodings.utf8 accessors furnace.actions html.forms http http.server kernel assocs sequences http.server.dispatchers http.server.responses namespaces urls xml.syntax xml.writer ; IN: friendly.tea : _data ( t -- d ) "data" swap at ; : _unpack ( url -- d ) http-get swap drop utf8 decode json> _data ; : current-time ( -- t ) "http://localhost:5000/current_tea" _unpack ; : all-times ( -- t ) "http://localhost:5000" _unpack ; : nth-time ( n -- t ) all-times nth ; : rand ( -- t ) "http://localhost:5000/rand" _unpack ; : name ( t -- n ) "name" swap at ; : steep-time ( t -- n ) "steep_time" swap at ; : preparation-time ( t -- n ) "preparation_time" swap at ; : available-time ( t -- n ) "available_time" swap at ; : page ( text -- xml ) "tea"

<->

XML> xml>string ; TUPLE: hello < dispatcher ; : ( -- action ) [ current-time name page "text/html" ] >>display ; : ( -- dispatcher ) hello new-dispatcher "" add-responder ; : run-hello ( -- ) main-responder set-global 8080 httpd ; MAIN: run-hello