Support for persistent, cross-connection REPL sessions.
Support for persistent, cross-connection REPL sessions.
(add-stdin h)
stdin middleware. Returns a handler that supports a "stdin" :op-eration, which adds content provided in a :stdin slot to the session's in Reader. Delegates to the given handler for other operations.
Requires the session middleware.
stdin middleware. Returns a handler that supports a "stdin" :op-eration, which adds content provided in a :stdin slot to the session's *in* Reader. Delegates to the given handler for other operations. Requires the session middleware.
(session h)
Session middleware. Returns a handler which supports these :op-erations:
Messages indicating other operations are delegated to the given handler, with the session identified by the :session ID added to the message. If no :session ID is found, a new session is created (which will only persist for the duration of the handling of the given message).
Requires the interruptible-eval middleware (specifically, its binding of msg to the currently-evaluated message so that session-specific out and err content can be associated with the originating message).
Session middleware. Returns a handler which supports these :op-erations: * "ls-sessions", which results in a response message containing a list of the IDs of the currently-retained sessions in a :session slot. * "close", which drops the session indicated by the ID in the :session slot. The response message's :status will include :session-closed. * "clone", which will cause a new session to be retained. The ID of this new session will be returned in a response message in a :new-session slot. The new session's state (dynamic scope, etc) will be a copy of the state of the session identified in the :session slot of the request. Messages indicating other operations are delegated to the given handler, with the session identified by the :session ID added to the message. If no :session ID is found, a new session is created (which will only persist for the duration of the handling of the given message). Requires the interruptible-eval middleware (specifically, its binding of *msg* to the currently-evaluated message so that session-specific *out* and *err* content can be associated with the originating message).
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close