bart-tile/urbit/app/barttile.hoon

114 lines
2.5 KiB
Plaintext
Raw Normal View History

2020-05-10 04:24:46 -07:00
/+ *server, default-agent
/= index
/^ octs
/; as-octs:mimes:html
2020-05-10 04:30:23 -07:00
/: /===/app/barttile/index
2020-05-10 04:24:46 -07:00
/| /html/
/~ ~
==
/= tile-js
/^ octs
/; as-octs:mimes:html
2020-05-10 04:30:23 -07:00
/: /===/app/barttile/js/tile
2020-05-10 04:24:46 -07:00
/| /js/
/~ ~
==
/= script
/^ octs
/; as-octs:mimes:html
2020-05-10 04:30:23 -07:00
/: /===/app/barttile/js/index
2020-05-10 04:24:46 -07:00
/| /js/
/~ ~
==
/= style
/^ octs
/; as-octs:mimes:html
2020-05-10 04:30:23 -07:00
/: /===/app/barttile/css/index
2020-05-10 04:24:46 -07:00
/| /css/
/~ ~
==
2020-05-10 04:30:23 -07:00
/= barttile-png
2020-05-10 04:24:46 -07:00
/^ (map knot @)
2020-05-10 04:30:23 -07:00
/: /===/app/barttile/img /_ /png/
2020-05-10 04:24:46 -07:00
::
|%
+$ card card:agent:gall
--
^- agent:gall
=<
|_ bol=bowl:gall
+* this .
2020-05-10 04:30:23 -07:00
barttile-core +>
cc ~(. barttile-core bol)
2020-05-10 04:24:46 -07:00
def ~(. (default-agent this %|) bol)
::
++ on-init
^- (quip card _this)
2020-05-10 04:30:23 -07:00
=/ launcha [%launch-action !>([%add %barttile / '/~barttile/js/tile.js'])]
2020-05-10 04:24:46 -07:00
:_ this
2020-05-10 04:30:23 -07:00
:~ [%pass / %arvo %e %connect [~ /'~barttile'] %barttile]
[%pass /barttile %agent [our.bol %launch] %poke launcha]
2020-05-10 04:24:46 -07:00
==
++ on-poke
|= [=mark =vase]
^- (quip card _this)
?> (team:title our.bol src.bol)
?+ mark (on-poke:def mark vase)
%handle-http-request
=+ !<([eyre-id=@ta =inbound-request:eyre] vase)
:_ this
%+ give-simple-payload:app eyre-id
%+ require-authorization:app inbound-request
poke-handle-http-request:cc
::
==
::
++ on-watch
|= =path
^- (quip card:agent:gall _this)
?: ?=([%http-response *] path)
`this
?. =(/ path)
(on-watch:def path)
[[%give %fact ~ %json !>(*json)]~ this]
::
++ on-agent on-agent:def
::
++ on-arvo
|= [=wire =sign-arvo]
^- (quip card _this)
?. ?=(%bound +<.sign-arvo)
(on-arvo:def wire sign-arvo)
[~ this]
::
++ on-save on-save:def
++ on-load on-load:def
++ on-leave on-leave:def
++ on-peek on-peek:def
++ on-fail on-fail:def
--
::
::
|_ bol=bowl:gall
::
++ poke-handle-http-request
|= =inbound-request:eyre
^- simple-payload:http
=+ url=(parse-request-line url.request.inbound-request)
?+ site.url not-found:gen
2020-05-10 04:30:23 -07:00
[%'~barttile' %css %index ~] (css-response:gen style)
[%'~barttile' %js %tile ~] (js-response:gen tile-js)
[%'~barttile' %js %index ~] (js-response:gen script)
2020-05-10 04:24:46 -07:00
::
2020-05-10 04:30:23 -07:00
[%'~barttile' %img @t *]
2020-05-10 04:24:46 -07:00
=/ name=@t i.t.t.site.url
2020-05-10 04:30:23 -07:00
=/ img (~(get by barttile-png) name)
2020-05-10 04:24:46 -07:00
?~ img
not-found:gen
(png-response:gen (as-octs:mimes:html u.img))
::
2020-05-10 04:30:23 -07:00
[%'~barttile' *] (html-response:gen index)
2020-05-10 04:24:46 -07:00
==
::
--