orangeqs.juice.schemas.remote#

Schemas for remote services.

Module Contents#

Classes#

RemoteServicesConfig

Operator allowlist of which remote services may connect.

Functions#

encode_multipart

Pack a ZMQ multipart message into one length-prefixed binary WebSocket frame.

decode_multipart

Inverse of :func:encode_multipart.

Data#

EDGE_TOKEN_HEADER

HTTP header the remote presents its JupyterHub edge token on.

API#

orangeqs.juice.schemas.remote.EDGE_TOKEN_HEADER#

‘X-Juice-Edge-Token’

HTTP header the remote presents its JupyterHub edge token on.

class orangeqs.juice.schemas.remote.RemoteServicesConfig(/, **data: Any)#

Bases: orangeqs.juice.settings.Configurable

Operator allowlist of which remote services may connect.

filename: ClassVar[str]#

‘remote-services’

remotes: list[str]#

[]

Declared remote routing name’s.

orangeqs.juice.schemas.remote.encode_multipart(parts: list[bytes]) bytes#

Pack a ZMQ multipart message into one length-prefixed binary WebSocket frame.

Used by the Events transport to carry bus messages across the /hub/pub and /hub/sub routes without the gateway needing to understand their content.

orangeqs.juice.schemas.remote.decode_multipart(frame: bytes) list[bytes]#

Inverse of :func:encode_multipart.