summaryrefslogtreecommitdiff
path: root/internal/server/router.go
blob: 670f7500bf0f261560a57c5785f9643619c92837 (plain)
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
package server

import (
	"fmt"
	"net/http"
	"time"
)

func (srv *server) ListenToRequests() {
	h := srv.actions
	mux := http.NewServeMux()
	server := &http.Server{
		Addr:         fmt.Sprintf("localhost:%s", srv.config.ServerConfig.Port),
		Handler:      h.GetSession(mux),
		ReadTimeout:  time.Second * 5,
		WriteTimeout: time.Second * 5,
	}

	fs := http.FileServer(http.Dir("assets/"))
	mux.Handle("GET /assets/", http.StripPrefix("/assets/", fs))

	mux.HandleFunc("GET /ping", h.Ping)
	mux.HandleFunc("GET /", h.MainPage)
	mux.HandleFunc("POST /", h.HandleForm)
	mux.HandleFunc("POST /done", h.HandleDoneAction)
	mux.HandleFunc("POST /login", h.HandleLogin)
	mux.HandleFunc("POST /signup", h.HandleSignup)

	// ====== elements ======
	mux.HandleFunc("GET /showform", h.ServeShowForm)
	mux.HandleFunc("GET /hideform", h.ServeHideForm)
	mux.HandleFunc("GET /recommendation", h.ShowRecommended)
	mux.HandleFunc("GET /recommendation-hide", h.HideRecommended)

	fmt.Println("Listening", "addr", server.Addr)
	server.ListenAndServe()
}