Skip to content

Commit

Permalink
fix: Fix http server to store its port in session storage
Browse files Browse the repository at this point in the history
  • Loading branch information
liquidz committed Feb 21, 2024
1 parent f75d340 commit 9ce4e1f
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
12 changes: 5 additions & 7 deletions src/elin/component/server/http.clj
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
(ns elin.component.server.http
(:require
[cheshire.core :as json]
[clojure.core.async :as async]
[clojure.java.io :as io]
[com.stuartsierra.component :as component]
[elin.constant.server :as e.c.server]
[elin.function.vim :as e.f.vim]
[elin.protocol.rpc :as e.p.rpc]
[elin.protocol.storage :as e.p.storage]
[org.httpkit.server :as h.server])
(:import
(java.net
Expand Down Expand Up @@ -52,14 +51,13 @@
m))

(defrecord HttpServer
[lazy-host handler host port stop-server]
[session-storage handler host port stop-server]
component/Lifecycle
(start [this]
(let [port' (get-empty-port)]
(async/go
(e.f.vim/set-variable! lazy-host
e.c.server/http-server-port-variable
port'))
(e.p.storage/set session-storage
e.c.server/http-server-port-key
port')
(assoc this
:port port'
:stop-server (h.server/run-server
Expand Down
5 changes: 4 additions & 1 deletion src/elin/constant/server.clj
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
(ns elin.constant.server)

(def http-server-port-key
::http-server-port-key)

(def http-server-port-variable
"g:elin_http_server_port")
"elin_http_server_port")
2 changes: 1 addition & 1 deletion src/elin/system.clj
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
:http-server (component/using
(e.c.s.http/new-http-server config)
[:handler
:lazy-host])
:session-storage])

:server (component/using
(e.c.server/new-server config)
Expand Down

0 comments on commit 9ce4e1f

Please sign in to comment.