1package main
2
3import (
4 "io"
5 "net/http"
6 "time"
7)
8
9func (m model) login(writer http.ResponseWriter, request *http.Request) {
10 if request.URL.Query().Get("access_token") == m.AccessToken {
11 expiration := time.Now().Add(365 * 24 * time.Hour)
12 cookie := http.Cookie{Name: "access_token", Value: m.AccessToken, Expires: expiration}
13 http.SetCookie(writer, &cookie)
14 http.Redirect(writer, request, "/", 302)
15 } else {
16 login, err := templates.ReadFile("templates/login.html")
17 if err != nil {
18 http.Error(writer, "500 Internal Server Error: "+err.Error(), 500)
19 }
20 io.WriteString(writer, string(login))
21 }
22}