summary refs log tree commit diff stats
path: root/cmd/perseus/main.go
blob: b94793e112b05184d7ee01d9326698cfbc5094d7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main

import (
	"fmt"
	"log"
	"net/http"
	"os"
	"time"

	"tildegit.org/andinus/perseus/handler/web"
	"tildegit.org/andinus/perseus/storage"
)

func main() {
	db := storage.Init()
	defer db.Conn.Close()

	envPort, exists := os.LookupEnv("PERSEUS_PORT")
	if !exists {
		envPort = "8080"
	}
	addr := fmt.Sprintf("127.0.0.1:%s", envPort)

	srv := &http.Server{
		Addr:         addr,
		WriteTimeout: 8 * time.Second,
		ReadTimeout:  8 * time.Second,
	}

	http.HandleFunc("/register", func(w http.ResponseWriter, r *http.Request) {
		web.HandleRegister(w, r, db)
	})

	log.Printf("main/main.go: listening on port %s...", envPort)
	log.Fatal(srv.ListenAndServe())
}