summaryrefslogtreecommitdiff
path: root/lex-serve/main.go
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2025-04-06 09:40:30 +0200
committerMartin Fischer <martin@push-f.com>2025-04-13 23:18:01 +0200
commit281d0a867bc542bef52d5091fed3bf1b0d3b9ef6 (patch)
treedff4cb69b1560655257b44190a17f99ed5b5f62b /lex-serve/main.go
parent50ea018252ce69542eab6a107b99ea8179810d1e (diff)
build: introduce Nix package and NixOS service
Diffstat (limited to 'lex-serve/main.go')
-rw-r--r--lex-serve/main.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/lex-serve/main.go b/lex-serve/main.go
index d0fb690..826548f 100644
--- a/lex-serve/main.go
+++ b/lex-serve/main.go
@@ -5,6 +5,7 @@ import (
"encoding/json"
"io/ioutil"
"log"
+ "net"
"net/http"
"net/url"
"os"
@@ -16,6 +17,11 @@ import (
var countriesJSON []byte
func main() {
+ socketPath := os.Getenv("SOCKET_PATH")
+ if socketPath == "" {
+ log.Fatal("SOCKET_PATH must be set")
+ }
+
domain := os.Getenv("DOMAIN")
if domain == "" {
log.Fatal("DOMAIN environment variable must be set")
@@ -50,8 +56,15 @@ func main() {
}
}
http.HandleFunc("/", handler.handle)
- println("listening on 8000")
- log.Fatal(http.ListenAndServe(":8000", nil))
+ listener, err := net.Listen("unix", socketPath)
+ if err != nil {
+ log.Fatal(err)
+ }
+ if err := os.Chmod(socketPath, 0666); err != nil {
+ log.Fatalf("error setting socket permissions: %s", err)
+ return
+ }
+ log.Fatal(http.Serve(listener, nil))
}
//go:embed templates