diff options
| author | Alexander Kavon <hawk@alexkavon.com> | 2023-11-29 02:05:38 -0500 |
|---|---|---|
| committer | Alexander Kavon <hawk@alexkavon.com> | 2023-11-29 02:05:38 -0500 |
| commit | 1c32e1497525bc6f609898f0f79bd6cc3e6d92fb (patch) | |
| tree | 99abc1c2690b151bfb3d45e9f76a8770b3597e7a /src/server/server.go | |
| parent | 5e26ebc96bd41f9d232573d873cb6cb55f0050c4 (diff) | |
user create/insert into users table, pgxpool defer moved to top of app, me.tmpl.html, secret hashing with argon2id, updated migrations
Diffstat (limited to 'src/server/server.go')
| -rw-r--r-- | src/server/server.go | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/src/server/server.go b/src/server/server.go index 9cb2a3f..c483069 100644 --- a/src/server/server.go +++ b/src/server/server.go @@ -4,23 +4,26 @@ import ( "net/http" "github.com/go-chi/chi/v5" + "github.com/google/uuid" "gitlab.com/alexkavon/newsstand/src/conf" "gitlab.com/alexkavon/newsstand/src/db" ) type Server struct { - Router *chi.Mux - Db *db.Database - Config *conf.Conf - Ui Ui + Router *chi.Mux + Db *db.Database + Config *conf.Conf + Ui Ui + Sessions map[string]session } func NewServer(config *conf.Conf, database *db.Database) *Server { return &Server{ - Router: NewRouter(config), - Db: database, - Config: config, - Ui: NewUi(config), + Router: NewRouter(config), + Db: database, + Config: config, + Ui: NewUi(config), + Sessions: map[string]session{}, } } @@ -37,3 +40,15 @@ func (s *Server) RegisterRoutes(routes Routes) { func (s *Server) Serve() { http.ListenAndServe(":"+s.Config.Server.Port, s.Router) } + +func (s *Server) NewSession(w http.ResponseWriter, username string) { + token := uuid.NewString() + s.Sessions[token] = session{ + username: username, + } + + http.SetCookie(w, &http.Cookie{ + Name: "session_token", + Value: token, + }) +} |
