ring-clojure / ring

Clojure HTTP server abstraction
MIT License
3.75k stars 519 forks source link

Add stop method for jetty adapter #451

Closed darkleaf closed 1 year ago

darkleaf commented 2 years ago

It is useful for stopping a server without reflection warnings.

(ns some-ns
  ...
  (:import
   [org.eclipse.jetty.server Server]))

(defmethod ig/halt-key! ::adapters/jetty [_ ^Server server]
  (.stop server))

vs

(defmethod ig/halt-key! ::adapters/jetty [_ server]
  (jetty/stop server))

or even for lazy loading:

(defmethod ig/halt-key! ::adapters/jetty [_ server]
  ((requiring-resolve 'ring.adapter.jetty/stop) server))
weavejester commented 1 year ago

As there isn't a mechanism in the adapter spec for this, I don't think I'll add this to Ring at this time.