hk-service/service/api/internal/middleware/realipmiddleware.go
2025-02-20 17:32:53 +08:00

23 lines
450 B
Go

package middleware
import (
"context"
"hk/pkg/middleware"
"net/http"
)
type RealIPMiddleware struct {
}
func NewRealIPMiddleware() *RealIPMiddleware {
return &RealIPMiddleware{}
}
func (m *RealIPMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
ipaddress := middleware.GetRealIP(r)
ctx := context.WithValue(r.Context(), "ip", ipaddress)
next(w, r.WithContext(ctx))
}
}