Ryan D McGuire f201ac1fca
All checks were successful
Build and Publish / release (push) Has been skipped
Build and Publish / check-chart (push) Successful in 10s
Build and Publish / helm-release (push) Has been skipped
support runtime.ServeMux opts for grpc-gateway
2025-03-25 17:05:59 -04:00

34 lines
895 B
Go

package ambient
import (
"context"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
)
func (aw *AmbientWeather) GetGatewayOpts() []runtime.ServeMuxOption {
return []runtime.ServeMuxOption{
runtime.WithMiddlewares(func(hf runtime.HandlerFunc) runtime.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request, pathParams map[string]string) {
aw.GetLogger().Trace().
Any("pathParams", pathParams).
Msg("inbound request called")
}
}),
runtime.WithRoutingErrorHandler(
func(
ctx context.Context, mux *runtime.ServeMux, mshl runtime.Marshaler,
w http.ResponseWriter, r *http.Request, code int,
) {
aw.GetLogger().Trace().
Int("code", code).
Str("pattern", r.Pattern).
Msg("requesting grpc-gateway route")
// Pass back to default
runtime.DefaultRoutingErrorHandler(ctx, mux, mshl, w, r, code)
}),
}
}