summaryrefslogtreecommitdiff
path: root/desk/web/feed/router.hoon
diff options
context:
space:
mode:
Diffstat (limited to 'desk/web/feed/router.hoon')
-rw-r--r--desk/web/feed/router.hoon39
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)
+--