INNER CODE UNIT · Go
middleware
iimeta/fastapi · internal/cmd/cmd.go:240
func middleware(r *ghttp.Request) {
if config.Cfg.ServiceUnavailable.Open && !slices.Contains(config.Cfg.ServiceUnavailable.IpWhitelist, util.GetClientIp(r)) {
err := errors.Error(r.GetCtx(), errors.ERR_SERVICE_UNAVAILABLE)
r.Response.Header().Set("Content-Type", "application/json")
r.Response.WriteStatus(err.Status(), gjson.MustEncodeString(err))
r.Exit()
return
}
logger.Debugf(r.GetCtx(), "r.Header: %v", r.Header)
secretKey := strings.TrimPrefix(r.GetHeader("Authorization"), "Bearer ")
if secretKey == "" {
if key := r.Get("key"); key != nil {
secretKey = key.String()
}