Here are all of Eyre's scry endpoints. There's not too many and they mostly deal with either CORS settings or aspects of the state of connections.
The first few have a care of x and are a scry like .^({TYPE} %ex /=//=/{SOME-PATH}) (note the empty desk). The rest have no care and the tag replaces the desk like .^({TYPE} %e /={SOMETHING}=).
All examples are run from the dojo.
/cors
An x scry with a path of /cors will return Eyre's CORS origin registry. The type returned is a cors-registry which contains the sets of approved, rejected and requested origins.
Example
> .^(cors-registry:eyre %ex /=//=/cors)
[ requests={~~http~3a.~2f.~2f.baz~.example}
approved={~~http~3a.~2f.~2f.foo~.example}
rejected={~~http~3a.~2f.~2f.bar~.example}
]/cors/requests
An x scry with a path of /cors/requests will return the set of pending origin requests. These are origins that were in an Origin: ... HTTP header but weren't in the existing approved or rejected sets. The type returned is a (set origin:eyre).
Example
> .^(requests=(set origin:eyre) %ex /=//=/cors/requests)
requests={~~http~3a.~2f.~2f.baz~.example}/cors/approved
An x scry with a path of /cors/approved will return the set of approved CORS origins. The type returned is a (set origin:eyre).
Example
> .^(approved=(set origin:eyre) %ex /=//=/cors/approved)
approved={~~http~3a.~2f.~2f.foo~.example}/cors/approved/{ORIGIN}
An x scry whose path is /cors/approved/{ORIGIN} tests whether the given origin URL is in the approved set of the CORS registry. The type returned is a simple ?.
The origin URL is a @t, but since @t may not be valid in a path, it must be encoded in a @ta using +scot like (scot %t 'foo') rather than just 'foo'.
Examples
> .^(? %ex /=//=/cors/approved/(scot %t 'http://foo.example'))
%.y> .^(? %ex /=//=/cors/approved/(scot %t 'http://bar.example'))
%.n/cors/rejected
An x scry with a path of /cors/rejected will return the set of rejected CORS origins. The type returned is a (set origin:eyre).
Example
> .^(rejected=(set origin:eyre) %ex /=//=/cors/rejected)
rejected={~~http~3a.~2f.~2f.bar~.example}/cors/rejected/{ORIGIN}
An x scry whose path is /cors/rejected/{ORIGIN} tests whether the given origin URL is in the rejected set of the CORS registry. The type returned is a simple ?.
The origin URL must be a cord-encoded @t rather than just the plain @t, so you'll have to do something like (scot %t 'foo') rather than just 'foo'.
Examples
> .^(? %ex /=//=/cors/rejected/(scot %t 'http://bar.example'))
%.y> .^(? %ex /=//=/cors/rejected/(scot %t 'http://foo.example'))
%.n/authenticated/cookie
An x scry whose path is /authenticated/cookie/{COOKIE} tests whether the given cookie is currently valid. The type returned is a ?.
The cookie must be the full cookie including the urbauth-{SHIP}= part. The cookie must be a cord-encoded @t rather than just a plain @t, so you'll have to do something like (scot %t 'foo') rather than just 'foo'.
Examples
> .^(? %ex /=//=/authenticated/cookie/(scot %t 'urbauth-~zod=0vvndn8.bfsjj.j3614.k40ha.8fomi'))
%.y> .^(? %ex /=//=/authenticated/cookie/(scot %t 'foo'))
%.n%bindings
A scry with bindings in place of the desk in the beak will return Eyre's URL path bindings. The type returned is a (list [binding:eyre duct action:eyre]) (see the $binding & $action sections of the Data Types document for details).
Example
> .^((list [binding:eyre duct action:eyre]) %e /=bindings=)
~[
[ [site=~ path=<|~landscape js bundle|>]
~[/gall/use/file-server/0w2.EijQB/~zod/~landscape/js/bundle /dill //term/1]
[%app app=%file-server]
]
[ [site=~ path=<|~landscape|>]
~[/gall/use/file-server/0w2.EijQB/~zod/~landscape /dill //term/1]
[%app app=%file-server]
]
...(truncated for brevity)...
]%connections
A scry with bindings in place of the desk in the beak will return all open HTTP connections that aren't fully complete. The type returned is a (map duct outstanding-connection:eyre) (see the $outstanding-connection section of the Data Types document for details).
Example
> .^((map duct outstanding-connection:eyre) %e /=connections=)
{}%authentication-state
A scry with authentication-state in place of the desk in the beak will return authentication details of all current sessions. The type returned is a $authentication-state. The p field is the cookie sans the urbauth-{SHIP}= part.
Example
> .^(authentication-state:eyre %e /=authentication-state=)
sessions
{ [ p=0v3.kags1.hj7hm.6llrl.cga2j.eh1r7
q=[expiry-time=~2021.5.20..08.44.27..39e0 channels={}]
]
}%channel-state
A scry with channel-state in place of the desk in the beak will return details of the state of each channel. The type returned is a channel-state.
Example
> .^(channel-state:eyre %e /=channel-state=)
[ session
{ [ p='1601844290-ae45b'
q
[ state=[%.y p=[date=~2021.5.13..20.44.27..39e0 duct=~[//http-server/0v2.kmj6q/26/1]]]
next-id=1
last-ack=~2021.5.13..08.44.27..39e0
events={[id=0 request-id=2 channel-event=[%poke-ack p=~]]}
unacked={}
subscriptions={}
heartbeat=~
]
]
}
duct-to-key={}
]%host
A scry with host in place of the desk in the beak will return host details of the ship. The type returned is a hart:eyre.
Example
> .^(hart:eyre %e /=host=)
[p=%.n q=[~ 8.080] r=[%.y p=<|localhost|>]]