aboutsummaryrefslogtreecommitdiff
path: root/http_server.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2026-02-02 22:31:42 +0700
committerShulhan <ms@kilabit.info>2026-02-03 17:51:15 +0700
commit7e7ed646e2c3db2404b628e5e8b5584b9de0ff60 (patch)
treeb03344635a0006e2386c3bb451c3316333346a3c /http_server.go
parenta6e71dc31738c4a003dae9f9547348968beeefc4 (diff)
downloadawwan-7e7ed646e2c3db2404b628e5e8b5584b9de0ff60.tar.xz
cmd/awwan: implement socket based activation on serve command
The "awwan serve" command now can run based on socket activation under systemd.
Diffstat (limited to 'http_server.go')
-rw-r--r--http_server.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/http_server.go b/http_server.go
index df30db0..2a7f534 100644
--- a/http_server.go
+++ b/http_server.go
@@ -11,6 +11,7 @@ import (
"fmt"
"io/fs"
"log"
+ "net"
"net/http"
"os"
"path"
@@ -62,7 +63,7 @@ type httpServer struct {
// newHTTPServer create and initialize HTTP server to serve awwan HTTP API
// and web user interface.
-func newHTTPServer(aww *Awwan, address string) (httpd *httpServer, err error) {
+func newHTTPServer(aww *Awwan, listener net.Listener, address string) (httpd *httpServer, err error) {
var (
logp = `newHTTPServer`
)
@@ -92,8 +93,9 @@ func newHTTPServer(aww *Awwan, address string) (httpd *httpServer, err error) {
}
var serverOpts = libhttp.ServerOptions{
- Memfs: internal.MemfsWui,
- Address: address,
+ Listener: listener,
+ Memfs: internal.MemfsWui,
+ Address: address,
}
httpd.Server, err = libhttp.NewServer(serverOpts)