Liking cljdoc? Tell your friends :D

qbits.jet.server

Adapter for the Jetty 9 server, with websocket + core.async support. Derived from ring.adapter.jetty

Adapter for the Jetty 9 server, with websocket + core.async support.
Derived from ring.adapter.jetty
raw docstring

any->parser-complianceclj

(any->parser-compliance pc)

run-jettyclj

(run-jetty {:as options
            :keys [websocket-handler ring-handler host port accept-queue-size
                   max-threads min-threads input-buffer-size max-idle-time
                   ssl-port configurator parser-compliance daemon? ssl? join?
                   http2? http2c? keystore-scan-interval-secs]
            :or {max-threads 50
                 max-idle-time 200000
                 input-buffer-size 8192
                 accept-queue-size 0
                 keystore-scan-interval-secs (* 60 60 24)
                 parser-compliance HttpCompliance/LEGACY
                 port 80
                 min-threads 8
                 join? true
                 daemon? false
                 ssl? false}})

Start a Jetty webserver to serve the given handler according to the supplied options:

  • :port - the port to listen on (defaults to 80), can be a sequence
  • :host - the hostname to listen on
  • :join? - blocks the thread until server ends (defaults to true)
  • :http2? - enable HTTP2 transport
  • :http2c? - enable HTTP2C transport (cleartext)
  • :configurator - fn that will be passed the server instance before server.start()
  • :daemon? - use daemon threads (defaults to false)
  • :ssl? - allow connections over HTTPS
  • :ssl-port - the SSL port to listen on (defaults to 443, implies :ssl?)
  • :keystore - the keystore to use for SSL connections
  • :keystore-type - the format of keystore
  • :keystore-scan-interval-secs - the scanning interval to detect changes to and reload the keystore
  • :key-password - the password to the keystore
  • :truststore - a truststore to use for SSL connections
  • :truststore-type - the format of trust store
  • :trust-password - the password to the truststore
  • :accept-queue-size - the accept queue size (also known as accept backlog)
  • :max-threads - the maximum number of threads to use (default 50)
  • :min-threads - the minimum number of threads to use (default 8)
  • :max-idle-time - the maximum idle time in milliseconds for a connection (default 200000)
  • :ws-max-idle-time - the maximum idle time in milliseconds for a websocket connection (default 500000)
  • :client-auth - SSL client certificate authenticate, may be set to :need, :want or :none (defaults to :none)
  • :output-buffer-size - (default 32768)
  • :input-buffer-size - (default 8192)
  • :request-header-size - (default 8192)
  • :response-header-size - (default 8192)
  • :send-server-version? - (default true)
  • :send-date-header? - (default false)
  • :header-cache-size - (default 512)
  • :websocket-handler - a handler function that will receive a RING request map with the following keys added:
    • :in: core.async chan that receives data sent by the client
    • :out: core async chan you can use to send data to client
    • :ctrl: core.async chan that received control messages such as: [::error e], [::close code reason]
  • :websocket-acceptor: a function called with (request response) that returns a boolean whether to further process the websocket request. If the function returns false, it is responsible for committing a response. If the function return true, a websocket is created and the websocket-handler is eventually called.
Start a Jetty webserver to serve the given handler according to the
supplied options:


* `:port` - the port to listen on (defaults to 80), can be a sequence
* `:host` - the hostname to listen on
* `:join?` - blocks the thread until server ends (defaults to true)
* `:http2?` - enable HTTP2 transport
* `:http2c?` - enable HTTP2C transport (cleartext)
* `:configurator` - fn that will be passed the server instance before server.start()
* `:daemon?` - use daemon threads (defaults to false)
* `:ssl?` - allow connections over HTTPS
* `:ssl-port` - the SSL port to listen on (defaults to 443, implies :ssl?)
* `:keystore` - the keystore to use for SSL connections
* `:keystore-type` - the format of keystore
* `:keystore-scan-interval-secs` - the scanning interval to detect changes to and reload the keystore
* `:key-password` - the password to the keystore
* `:truststore` - a truststore to use for SSL connections
* `:truststore-type` - the format of trust store
* `:trust-password` - the password to the truststore
* `:accept-queue-size` - the accept queue size (also known as accept backlog)
* `:max-threads` - the maximum number of threads to use (default 50)
* `:min-threads` - the minimum number of threads to use (default 8)
* `:max-idle-time`  - the maximum idle time in milliseconds for a connection (default 200000)
* `:ws-max-idle-time`  - the maximum idle time in milliseconds for a websocket connection (default 500000)
* `:client-auth` - SSL client certificate authenticate, may be set to :need, :want or :none (defaults to :none)
* `:output-buffer-size` - (default 32768)
* `:input-buffer-size` - (default 8192)
* `:request-header-size` - (default 8192)
* `:response-header-size` - (default 8192)
* `:send-server-version?` - (default true)
* `:send-date-header?` - (default false)
* `:header-cache-size` - (default 512)
* `:websocket-handler` - a handler function that will receive a RING request map with the following keys added:
    * `:in`: core.async chan that receives data sent by the client
    * `:out`: core async chan you can use to send data to client
    * `:ctrl`: core.async chan that received control messages such as: `[::error e]`, `[::close code reason]`
* `:websocket-acceptor`: a function called with (request response) that returns a boolean whether to further process the
                         websocket request. If the function returns false, it is responsible for committing a response.
                         If the function return true, a websocket is created and the `websocket-handler` is eventually
                         called.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close