fix: middleware name

This commit is contained in:
Kevin Franklin Kim 2024-11-21 13:20:13 +01:00
parent 2a125cee30
commit e801701b58
No known key found for this signature in database
4 changed files with 10 additions and 55 deletions

View File

@ -61,52 +61,3 @@ func MPv2MiddlewareUserID(cookieName string) MPv2Middleware {
}
}
}
func MPv2MiddlewareUserAgent(next MPv2Handler) MPv2Handler {
return func(r *http.Request, payload *mpv2.Payload[any]) error {
if userAgent := r.Header.Get("User-Agent"); userAgent != "" {
for i, event := range payload.Events {
if value, ok := event.Params.(map[string]any); ok {
value["user_agent"] = userAgent
}
payload.Events[i] = event
}
}
return next(r, payload)
}
}
func MPv2MiddlewareIPOverride(next MPv2Handler) MPv2Handler {
return func(r *http.Request, payload *mpv2.Payload[any]) error {
var ipOverride string
for _, key := range []string{"CF-Connecting-IP", "X-Original-Forwarded-For", "X-Forwarded-For", "X-Real-Ip"} {
if value := r.Header.Get(key); value != "" {
ipOverride = value
break
}
}
if ipOverride != "" {
for i, event := range payload.Events {
if value, ok := event.Params.(map[string]any); ok {
value["ip_override"] = ipOverride
}
payload.Events[i] = event
}
}
return next(r, payload)
}
}
func MPv2MiddlewarePageLocation(next MPv2Handler) MPv2Handler {
return func(r *http.Request, payload *mpv2.Payload[any]) error {
if referrer := r.Header.Get("Referer"); referrer != "" {
for i, event := range payload.Events {
if value, ok := event.Params.(map[string]any); ok {
value["page_location"] = referrer
}
payload.Events[i] = event
}
}
return next(r, payload)
}
}

View File

@ -4,6 +4,7 @@ import (
"net/http"
"github.com/foomo/sesamy-go/pkg/sesamy"
"go.uber.org/zap"
)
type EventHandler func(r *http.Request, event *sesamy.Event[any]) error
type EventHandler func(l *zap.Logger, r *http.Request, event *sesamy.Event[any]) error

View File

@ -27,7 +27,7 @@ func MiddlewareEventHandler(h sesamyhttp.EventHandler) Middleware {
}
for i, event := range mpv2Payload.Events {
if err := h(r, &event); err != nil {
if err := h(l, r, &event); err != nil {
return err
}
mpv2Payload.Events[i] = event

View File

@ -22,7 +22,7 @@ func MiddlewareEventHandler(h sesamyhttp.EventHandler) Middleware {
return func(next MiddlewareHandler) MiddlewareHandler {
return func(l *zap.Logger, w http.ResponseWriter, r *http.Request, payload *mpv2.Payload[any]) error {
for i, event := range payload.Events {
if err := h(r, &event); err != nil {
if err := h(l, r, &event); err != nil {
return err
}
payload.Events[i] = event
@ -100,8 +100,9 @@ func MiddlewareUserAgent(next MiddlewareHandler) MiddlewareHandler {
for i, event := range payload.Events {
if value, ok := event.Params.(map[string]any); ok {
value["user_agent"] = userAgent
event.Params = value
payload.Events[i] = event
}
payload.Events[i] = event
}
}
return next(l, w, r, payload)
@ -121,8 +122,9 @@ func MiddlewareIPOverride(next MiddlewareHandler) MiddlewareHandler {
for i, event := range payload.Events {
if value, ok := event.Params.(map[string]any); ok {
value["ip_override"] = ipOverride
event.Params = value
payload.Events[i] = event
}
payload.Events[i] = event
}
}
return next(l, w, r, payload)
@ -135,8 +137,9 @@ func MiddlewarePageLocation(next MiddlewareHandler) MiddlewareHandler {
for i, event := range payload.Events {
if value, ok := event.Params.(map[string]any); ok {
value["page_location"] = referrer
event.Params = value
payload.Events[i] = event
}
payload.Events[i] = event
}
}
return next(l, w, r, payload)