urbit/main/pub/doc/arvo/eyre.md
2015-03-11 20:37:37 -04:00

2.3 KiB

%eyre

%eyre is our http server.

Unix sends http messages to %eyre, and %eyre produces http messages in response. In general, apps and vanes do not call %eyre; rather, %eyre calls apps and vanes. %eyre uses %ford and %gall to functionally publish pages and facilitate communication with apps.

%eyre primarily parses web requests and handles them in a variety of ways, depending on the control string. Nearly all of these are essentially stateless, like functional publishing with %ford. Additionally, there's a fairly significant component that handles %gall messaging and subscriptions, which must be stateful.


HTTP Methods

GET gog https://[ship-name].urbit.org/gog/[service] Owner requesting a page on her own Urbit. gig https://[ship-name].urbit.org/gig/[user-name]/[service] Another user requesting a page on a foreign Urbit.

goe https://[ship-name].urbit.org/goe/[service]/[port]/[stream]/[sequence] https://[ship-name].urbit.org/goe/[service]/[port]/[stream]/[sequence].json Pulls a specific response to her subscription on her own Urbit. gie https://[ship-name].urbit.org/gie/[user-name]/[service]/[port]/[stream]/[sequence] https://[ship-name].urbit.org/gie/[user-name]/[service]/[port]/[stream]/[sequence].json Pulls a specific response to her subscription on a foreign Urbit.

PUT tos https://[ship-name].urbit.org/tos/[service]/[port]/[stream]/[path] {oryx: [string]} Initiate a subscription on her own Urbit. tis https://[ship-name].urbit.org/tis/[user-name]/[service]/[port]/[stream]/[path] {oryx: [string]} Initiate a subscription on a foreign Urbit.

tom https://[ship-name].urbit.org/tom/[service]/[port]/[sequence] {oryx: [string], xyro: [json]} Send a message to her Urbit with sequence number [sequence]. tim https://[ship-name].urbit.org/tim/[user-name]/[service]/[port]/[sequence] {oryx: [string], xyro: [json]} Send a message to a foreign Urbit with sequence number [sequence].

tou https://[ship-name].urbit.org/tou/[service]/[port]/[stream] Unsubscribe from stream [stream] on her Urbit. tiu https://[ship-name].urbit.org/tiu/[user-name]/[service]/[port]/[stream] Unsubscribe from stream [stream] on a foreign Urbit.

urb.js