summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxengineering <mail2xengineering@protonmail.com>2021-06-11 09:06:56 +0200
committerxengineering <mail2xengineering@protonmail.com>2021-06-11 09:12:06 +0200
commitd93959de9f7ffd061dc57bec7c532829f592bf77 (patch)
tree5b6986d280a06d5671ed8657427ab87d1873742a /src
parent5ee9c18acf25ca06dfacdb857edbd54b8454b7e8 (diff)
downloadbirdscan-d93959de9f7ffd061dc57bec7c532829f592bf77.tar
birdscan-d93959de9f7ffd061dc57bec7c532829f592bf77.tar.zst
birdscan-d93959de9f7ffd061dc57bec7c532829f592bf77.zip
Implement Web Server
Diffstat (limited to 'src')
-rw-r--r--src/go.mod2
-rw-r--r--src/go.sum2
-rw-r--r--src/main.go1
-rw-r--r--src/web.go31
4 files changed, 36 insertions, 0 deletions
diff --git a/src/go.mod b/src/go.mod
index 33a7a6a..06d83ed 100644
--- a/src/go.mod
+++ b/src/go.mod
@@ -1,3 +1,5 @@
module src.xengineering.eu/xengineering/birdscan
go 1.16
+
+require github.com/go-chi/chi/v5 v5.0.3 // indirect
diff --git a/src/go.sum b/src/go.sum
new file mode 100644
index 0000000..e92da3f
--- /dev/null
+++ b/src/go.sum
@@ -0,0 +1,2 @@
+github.com/go-chi/chi/v5 v5.0.3 h1:khYQBdPivkYG1s1TAzDQG1f6eX4kD2TItYVZexL5rS4=
+github.com/go-chi/chi/v5 v5.0.3/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
diff --git a/src/main.go b/src/main.go
index 7b693ee..5de338a 100644
--- a/src/main.go
+++ b/src/main.go
@@ -9,6 +9,7 @@ import (
func main() {
log.Println("Starting birdscan")
+ go runServer()
for {
time.Sleep(1 * time.Second)
}
diff --git a/src/web.go b/src/web.go
new file mode 100644
index 0000000..c0732ad
--- /dev/null
+++ b/src/web.go
@@ -0,0 +1,31 @@
+// vim: shiftwidth=4 tabstop=4 noexpandtab
+
+package main
+
+import (
+ "fmt"
+ "log"
+ "net/http"
+
+ "github.com/go-chi/chi/v5"
+ "github.com/go-chi/chi/v5/middleware"
+)
+
+const (
+ APP_DATA = "/usr/share/birdscan"
+)
+
+func runServer() {
+ router := chi.NewRouter()
+ router.Use(middleware.Logger)
+
+ router.Get("/", indexHandler)
+
+ log.Println("Binding to 'http://" + "127.0.0.1" + ":" + "8080" + "'")
+ log.Fatal(http.ListenAndServe("127.0.0.1" + ":" + "8080", router))
+}
+
+func indexHandler(w http.ResponseWriter, r *http.Request) {
+ http.ServeFile(w, r, fmt.Sprintf("%s/html/index.html", APP_DATA))
+}
+