diff options
Diffstat (limited to 'desk/web/feed/router.hoon')
-rw-r--r-- | desk/web/feed/router.hoon | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/desk/web/feed/router.hoon b/desk/web/feed/router.hoon new file mode 100644 index 0000000..9c61b4b --- /dev/null +++ b/desk/web/feed/router.hoon @@ -0,0 +1,39 @@ +/- boke, tp=trill-post, cnt=contact +/+ kaji, fetch-lib=fetch, plib=trill-utils, const=constants, sr=sortug, lib=boke +/= index /web/index +/= subscribe /web/subscribe +/= feedp /web/feed/feed + +|_ [rl=req-line:kaji s=state:boke =bowl:gall] ++* fetch ~(. fetch-lib [s bowl]) + feed ~(. feedp [s bowl]) +++ eyre-bail (error-response:kaji 404) +++ manx-bail (error-page:kaji 404) +:: +++ $ ^- eyre-res:kaji + =/ p pat.rl ::?. mob.rl pat.rl [%m pat.rl] + ?. (is-subscribed:lib src.bowl) nudge + ~& serving-search=rl(pat p) + ?+ p eyre-bail + ~ main + [%f rest=*] (fragment rest.p) + == +++ nudge + :- %page + ~& "pay me" + =/ sub ~(. subscribe src.bowl) + =/ nudgep (nudge:sub "Feed") + (index ~[nudgep] bowl) +++ main + :- %page + + (index ~[main:feed] bowl) +++ fragment +|= p=(pole knot) + :- %html manx-bail + :: =/ args (parse-params par.rl) + :: ~& args=args + :: ?~ args manx-bail + :: =/ res (search:fetch u.args) + :: (results:srch u.args res) +-- |