adds SSL handling
This commit is contained in:
parent
4e03d0d8cb
commit
6c8f9e49d2
|
@ -3,6 +3,7 @@
|
||||||
(:import (org.eclipse.jetty.server.handler AbstractHandler)
|
(:import (org.eclipse.jetty.server.handler AbstractHandler)
|
||||||
(org.eclipse.jetty.server Server Request Response)
|
(org.eclipse.jetty.server Server Request Response)
|
||||||
(org.eclipse.jetty.server.nio SelectChannelConnector)
|
(org.eclipse.jetty.server.nio SelectChannelConnector)
|
||||||
|
(org.eclipse.jetty.server.ssl SslSocketConnector)
|
||||||
(org.eclipse.jetty.continuation Continuation ContinuationSupport ContinuationListener)
|
(org.eclipse.jetty.continuation Continuation ContinuationSupport ContinuationListener)
|
||||||
(org.eclipse.jetty.io EofException)
|
(org.eclipse.jetty.io EofException)
|
||||||
(javax.servlet.http HttpServletRequest))
|
(javax.servlet.http HttpServletRequest))
|
||||||
|
@ -30,8 +31,19 @@
|
||||||
(close [this]
|
(close [this]
|
||||||
(.complete continuation)))
|
(.complete continuation)))
|
||||||
|
|
||||||
|
(defn- add-ssl-connector!
|
||||||
|
"Add an SslSocketConnector to a Jetty Server instance."
|
||||||
|
[^Server server options]
|
||||||
|
(let [ssl-connector (SslSocketConnector.)]
|
||||||
|
(doto ssl-connector
|
||||||
|
(.setPort (options :ssl-port 443))
|
||||||
|
(.setKeystore (options :keystore))
|
||||||
|
(.setKeyPassword (options :key-password)))
|
||||||
|
(when (options :truststore)
|
||||||
|
(.setTruststore ssl-connector (options :truststore)))
|
||||||
|
(when (options :trust-password)
|
||||||
|
(.setTrustPassword ssl-connector (options :trust-password)))
|
||||||
|
(.addConnector server ssl-connector)))
|
||||||
|
|
||||||
(defn- proxy-handler
|
(defn- proxy-handler
|
||||||
"Returns an Jetty Handler implementation for the given Ring handler."
|
"Returns an Jetty Handler implementation for the given Ring handler."
|
||||||
|
@ -70,6 +82,8 @@
|
||||||
server (doto (Server.)
|
server (doto (Server.)
|
||||||
(.addConnector connector)
|
(.addConnector connector)
|
||||||
(.setSendDateHeader true))]
|
(.setSendDateHeader true))]
|
||||||
|
(when (or (options :ssl?) (options :ssl-port))
|
||||||
|
(add-ssl-connector! server options))
|
||||||
server))
|
server))
|
||||||
|
|
||||||
(defn ^Server run-jetty-async
|
(defn ^Server run-jetty-async
|
||||||
|
|
Reference in a new issue