summary refs log tree commit diff stats
path: root/cmd/perseus/main.go
blob: ca1a50d55f2bc50ddef78f84408036bdd7755eaa (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
37
38
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 := os.Getenv("PERSEUS_PORT")
	if envPort == "" {
		envPort = "8080"
	}

	srv := &http.Server{
		Addr:         fmt.Sprintf("127.0.0.1:%s", envPort),
		WriteTimeout: 8 * time.Second,
		ReadTimeout:  8 * time.Second,
	}

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

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