summaryrefslogtreecommitdiff
path: root/desk/web/feed/router.hoon
blob: 9c61b4b1906f07f2105315edf0abfb671b91cf4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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)
--