Default server implementations
Default server implementations
(default-handler & additional-middlewares)
A default handler supporting interruptible evaluation, stdin, sessions, and
readable representations of evaluated expressions via pr
.
Additional middlewares to mix into the default stack may be provided; these should all be values (usually vars) that have an nREPL middleware descriptor in their metadata (see clojure.tools.nrepl.middleware/set-descriptor!).
A default handler supporting interruptible evaluation, stdin, sessions, and readable representations of evaluated expressions via `pr`. Additional middlewares to mix into the default stack may be provided; these should all be values (usually vars) that have an nREPL middleware descriptor in their metadata (see clojure.tools.nrepl.middleware/set-descriptor!).
(handle handler transport)
Handles requests received via [transport] using [handler]. Returns nil when [recv] returns nil for the given transport.
Handles requests received via [transport] using [handler]. Returns nil when [recv] returns nil for the given transport.
(start-server &
{:keys [port bind transport-fn handler ack-port greeting-fn]
:or {port 0}})
Starts a socket-based nREPL server. Configuration options include:
(default-handler)
Returns a (map) handle to the server that is started, which may be stopped
either via stop-server
, (.close server), or automatically via with-open
.
The port that the server is open on is available in the :port slot of the
server map (useful if the :port option is 0 or was left unspecified.
Starts a socket-based nREPL server. Configuration options include: * :port — defaults to 0, which autoselects an open port * :bind — bind address, by default "::" (falling back to "localhost" if "::" isn't resolved by the underlying network stack) * :handler — the nREPL message handler to use for each incoming connection; defaults to the result of `(default-handler)` * :transport-fn — a function that, given a java.net.Socket corresponding to an incoming connection, will return an value satisfying the clojure.tools.nrepl.Transport protocol for that Socket. * :ack-port — if specified, the port of an already-running server that will be connected to to inform of the new server's port. Useful only by Clojure tooling implementations. Returns a (map) handle to the server that is started, which may be stopped either via `stop-server`, (.close server), or automatically via `with-open`. The port that the server is open on is available in the :port slot of the server map (useful if the :port option is 0 or was left unspecified.
(stop-server {:keys [open-transports server-socket] :as server})
Stops a server started via start-server
.
Stops a server started via `start-server`.
(unknown-op {:keys [op transport] :as msg})
Sends an :unknown-op :error for the given message.
Sends an :unknown-op :error for the given message.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close