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.
Examples
No examples yet. Be the first to add one!