fix(session): conditionally bind handler and log errors

This commit is contained in:
Mya 2022-06-10 10:21:48 -05:00
parent 2c7aea4654
commit f8db96c717
No known key found for this signature in database
GPG Key ID: C3ECFA648DAD27FA
2 changed files with 12 additions and 13 deletions

@ -20,7 +20,6 @@ import (
"context" "context"
"net" "net"
"net/http" "net/http"
"path"
"github.com/gorilla/mux" "github.com/gorilla/mux"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
@ -95,9 +94,15 @@ func NewServer(ctx context.Context, config ServerConfig) (*Server, error) {
public.Use( public.Use(
session.Middleware( session.Middleware(
session.Exclusions(exclusions...), session.Exclusions(exclusions...),
session.JavaScriptPath(path.Join(config.Session.Prefix, "pages.js")), session.JavaScriptPath("/pages.js"),
), ),
) )
var handler http.Handler = session.Handler()
handler = http.StripPrefix(config.Session.Prefix, handler)
public.Handle("/pages.js", web.Handler()).Methods(http.MethodGet)
public.PathPrefix(config.Session.Prefix).Handler(handler)
} }
admin := public.PathPrefix(config.Admin.Prefix).Subrouter() admin := public.PathPrefix(config.Admin.Prefix).Subrouter()
@ -111,15 +116,6 @@ func NewServer(ctx context.Context, config ServerConfig) (*Server, error) {
}) })
} }
{
var handler http.Handler = session.Handler()
handler = http.StripPrefix(config.Session.Prefix, handler)
session := public.PathPrefix(config.Session.Prefix).Subrouter()
session.HandleFunc("/pages.js", web.Handler()).Methods(http.MethodGet)
session.Handle("/", handler)
}
return &Server{ return &Server{
AdminMux: admin, AdminMux: admin,

@ -21,7 +21,9 @@ import (
"time" "time"
"github.com/gorilla/websocket" "github.com/gorilla/websocket"
"go.uber.org/zap"
"github.com/mjpitz/myago/zaputil"
"github.com/mjpitz/pages/internal/geoip" "github.com/mjpitz/pages/internal/geoip"
"github.com/mjpitz/pages/internal/metrics" "github.com/mjpitz/pages/internal/metrics"
) )
@ -45,9 +47,11 @@ type Handle struct {
} }
func (h *Handle) ServeHTTP(w http.ResponseWriter, r *http.Request) { func (h *Handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {
log := zaputil.Extract(r.Context())
conn, err := h.upgrader.Upgrade(w, r, nil) conn, err := h.upgrader.Upgrade(w, r, nil)
if err != nil { if err != nil {
// log log.Error("failed to upgrade connection", zap.Error(err))
return return
} }
@ -70,7 +74,6 @@ func (h *Handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {
err = conn.ReadJSON(&req) err = conn.ReadJSON(&req)
if err != nil { if err != nil {
// log
return return
} }
} }