Skip to content

Instantly share code, notes, and snippets.

@renatoalencar
Last active June 7, 2020 02:38
Show Gist options
  • Save renatoalencar/aa35c6523dbcf3816058c4c1bd7e095c to your computer and use it in GitHub Desktop.
Save renatoalencar/aa35c6523dbcf3816058c4c1bd7e095c to your computer and use it in GitHub Desktop.
;;
;; O web server pode seguir o mesmo protocolo
;; e principios que o banco de dados.
;;
(defrecord WebServer [port app]
component/Lifecycle
(start [component]
(assoc component
::jetty
(run-jetty (-> component :app :handler)
{:port port})))
(stop [component]
(-> component ::jetty .close)
component))
(defn new-web-server [port]
(component/using
(map->WebServer {:port port})
;; Declaramos explicitamente a dependencia
;; de um componente `:app`.
[:app]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment