Skip to main content

run-server

function

org.httpkit.server/run-server

(run-server [handler & [{:keys [ip port max-body max-ws max-line proxy-protocol worker-pool error-logger warn-logger event-logger event-names legacy-return-value? server-header address-finder channel-factory ring-async?], :as opts, :or {max-ws 4194304, ring-async? false, max-body 8388608, max-line 8192, server-header "http-kit", ip "0.0.0.0", proxy-protocol :disable, port 8090, legacy-return-value? true}}]])
Starts a mostly[1] Ring-compatible HttpServer with options: :ip ; Which IP to bind (default: 0.0.0.0) :port ; Which port to listen to for incoming requests :worker-pool ; `java.util.concurrent.ExecutorService` or delay to use ; for handling requests. Defaults to (:pool (new-worker {})). ; See `new-worker` for details. :max-body ; Max HTTP body size in bytes (default: 8MB) :max-ws ; Max WebSocket message size in bytes (default: 4MB) :max-line ; Max HTTP header line size in bytes (default: 8KB) :proxy-protocol ; Proxy protocol e/o #{:disable :enable :optional} :server-header ; The "Server" header, disabled if nil. Default: "http-kit". :error-logger ; (fn [msg ex]) -> log errors :warn-logger ; (fn [msg ex]) -> log warnings :event-logger ; (fn [ev-name]) -> log events :event-names ; Map of http-kit event names to loggable event names ;; These opts may be used for Unix Domain Socket (UDS) support, see README: :address-finder ; (fn []) -> `java.net.SocketAddress` (ip/port ignored) :channel-factory ; (fn [java.net.SocketAddress]) -> `java.nio.channels.SocketChannel` If :legacy-return-value? is true (default) ; Returns a (fn stop-server [& {:keys [timeout] :or {timeout 100}}]) false (recommended) ; Returns the `HttpServer` which can be used with `server-port`, ; `server-status`, `server-stop!`, `server-join`, etc. The server also supports the following JVM properties: `org.http-kit.memmap-file-threshold` Files above this size (in MB) are mapped into memory for efficiency when served. Memory mapping could result to file locking. Defaults to 20 (MB). [1] Ref. http://http-kit.org/migration.html for differences.

No examples yet. Be the first to add one!