summaryrefslogtreecommitdiff
path: root/desk/ted/beg.hoon
diff options
context:
space:
mode:
Diffstat (limited to 'desk/ted/beg.hoon')
-rw-r--r--desk/ted/beg.hoon31
1 files changed, 31 insertions, 0 deletions
diff --git a/desk/ted/beg.hoon b/desk/ted/beg.hoon
new file mode 100644
index 0000000..2cabbea
--- /dev/null
+++ b/desk/ted/beg.hoon
@@ -0,0 +1,31 @@
+/- spider
+/+ strandio, jsonlib=json-nostrill
+=, strand=strand:spider
+=, strand-fail=strand-fail:libstrand:spider
+^- thread:spider
+|= arg=vase
+ =/ m (strand ,vase) ^- form:m
+ |^
+ =/ ujon !<((unit json) arg)
+ :: ~& ujon=ujon
+ ?~ ujon (pure:m !>(bail))
+ =/ req (ui:de:jsonlib u.ujon)
+ ?~ req (pure:m !>(bail))
+ ?. ?=(%begs -.u.req) (pure:m !>(bail))
+ ?- +<.u.req
+ %feed
+ ;< =bowl:spider bind:m get-bowl:strandio
+ =/ desk q.byk.bowl
+ ~& dock=[+>.u.req desk]
+ ;< =cage bind:m (watch-one:strandio /beg/feed [+>.u.req desk] /beg/feed)
+ ~& > watch-cage=-.cage
+ =/ j !<(json +.cage)
+ (pure:m !>(j))
+
+ %thread
+ (pure:m !>(bail))
+ ==
+ ++ bail ^- json
+ %+ frond:enjs:format %error
+ s+'error'
+ --