urbit/pkg/arvo/lib
Philip Monk 47e3b260d5
eyre: subscribe to apps for responses
This removes the %http-response special case from gall.  In its place,
we implement a subscription regime with the following steps:

- Agent sends %connect to Eyre
- Eyre pokes agent with %handle-http-response, including unique eyre-id
- Agent passes %start-watching to Eyre with eyre-id and unique app-id
- Eyre subscribes to agent on /http-response/app-id
- Agent produces a %http-response-header fact followed by 0 or more
  %http-response-data facts and possibly a %http-response-cancel fact
- Agent produces a %kick to close the subscription, which Eyre
  interprets as completion of the message.

This works when there is data.  There is currently a bug where if the
response has no data in total (as in the case of a naked 404), no
response will be sent.

This also includes lib/http-handler, which implements a convenient
interface for agents that want to respond immediately with all the data.
This lets them avoid carrying extra state to keep track of pending
requests.

This should really have access to your state and the ability to change
it.  Perhaps a more minimalist design would be better: just keep track
of the requests, then hand it off to +on-watch when eyre is ready to
receive responses.  It's not clear how to pass in the request data in
+on-watch.
2019-11-12 23:37:38 -08:00
..
bip39 Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
chat mall: convert chat-store 2019-11-05 11:30:58 -08:00
hood Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
language-server mall: convert chat-cli 2019-11-08 19:32:21 -08:00
ph mall: fix ph 2019-11-12 21:03:21 -08:00
test Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
agent.hoon mall: compiles and runs app, but type hole 2019-09-04 12:49:16 -07:00
aqua-vane-imp.hoon spider: add process tree 2019-11-09 23:27:07 -08:00
async.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
azimuth.hoon mall: rename agent arms 2019-11-07 00:19:58 -08:00
base64.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
bip32.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
bip39.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
chat-json.hoon apps: added permission hook and chat-view %join action 2019-10-11 14:09:30 -07:00
cram.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
csv.hoon custody: add more types 2019-10-21 15:41:28 -07:00
default-agent.hoon eyre: subscribe to apps for responses 2019-11-12 23:37:38 -08:00
der.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
elem-to-react-json.hoon Replace (fall (~(get by calls with (~(gut by 2019-06-30 18:13:34 +02:00
ethio.hoon mall: convert eth-watcher to mall/imp 2019-11-11 21:36:32 -08:00
frontmatter.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
generators.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
group-json.hoon apps: added group/permission stores, hooks, marks 2019-09-30 14:46:07 -07:00
http-handler.hoon eyre: subscribe to apps for responses 2019-11-12 23:37:38 -08:00
invite-json.hoon invite: add comments and clean up 2019-11-01 14:04:50 -07:00
jose.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
keygen.hoon keygen: Add ownership-from-ticket function 2019-10-09 21:19:04 +02:00
number-to-words.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
old-phon.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
permission-json.hoon apps: added group/permission stores, hooks, marks 2019-09-30 14:46:07 -07:00
ph.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
pill.hoon mall: make boot 2019-09-09 20:04:38 -07:00
pkcs.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
pprint.hoon hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00
pretty-file.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
primitive-rsa.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
publish.hoon Move :publish app state type into app itself 2019-08-11 12:21:39 -07:00
rekey.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
ring.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
server.hoon eyre: subscribe to apps for responses 2019-11-12 23:37:38 -08:00
show-dir.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
skeleton.hoon mall: refactor gift/sign/task types 2019-11-08 17:35:24 -08:00
sole.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
stdio.hoon dns: sends notifications directly to %dill (and adds tapp support) 2019-10-30 15:14:54 -07:00
tapp.hoon add +scry to lib/stdio 2019-08-12 13:50:14 -07:00
test.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
thread.hoon spider: add process tree 2019-11-09 23:27:07 -08:00
threadio.hoon mall: convert eth-watcher to mall/imp 2019-11-11 21:36:32 -08:00
time-to-id.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
tree.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
trie.hoon spider: add process tree 2019-11-09 23:27:07 -08:00
urb-split.hoon Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
verb.hoon mall: convert chat-cli 2019-11-08 19:32:21 -08:00
xray.hoon hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00