blob: 2cabbeabf0a91403354f816a26ae9c17ab83500b (
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
|
/- 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'
--
|