[#54] Fix linter warnings
All checks were successful
Builds (1.19)
Builds (1.20)
DCO
Lint
Tests (1.19)
Tests (1.20)

Signed-off-by: Alex Vanin <a.vanin@yadro.com>
This commit is contained in:
Alexey Vanin 2023-05-31 16:34:04 +03:00
parent 01b9df83e6
commit f17f6747c4
4 changed files with 31 additions and 33 deletions

42
app.go
View file

@ -494,41 +494,41 @@ func (a *app) configureRouter(uploadRoutes *uploader.Uploader, downloadRoutes *d
a.webServer.Handler = r.Handler a.webServer.Handler = r.Handler
} }
func (a *app) logger(req fasthttp.RequestHandler) fasthttp.RequestHandler { func (a *app) logger(h fasthttp.RequestHandler) fasthttp.RequestHandler {
return func(ctx *fasthttp.RequestCtx) { return func(req *fasthttp.RequestCtx) {
a.log.Info("request", zap.String("remote", ctx.RemoteAddr().String()), a.log.Info("request", zap.String("remote", req.RemoteAddr().String()),
zap.ByteString("method", ctx.Method()), zap.ByteString("method", req.Method()),
zap.ByteString("path", ctx.Path()), zap.ByteString("path", req.Path()),
zap.ByteString("query", ctx.QueryArgs().QueryString()), zap.ByteString("query", req.QueryArgs().QueryString()),
zap.Uint64("id", ctx.ID())) zap.Uint64("id", req.ID()))
req(ctx) h(req)
} }
} }
func (a *app) tokenizer(req fasthttp.RequestHandler) fasthttp.RequestHandler { func (a *app) tokenizer(h fasthttp.RequestHandler) fasthttp.RequestHandler {
return func(ctx *fasthttp.RequestCtx) { return func(req *fasthttp.RequestCtx) {
appCtx, err := tokens.StoreBearerTokenAppCtx(ctx, a.ctx) appCtx, err := tokens.StoreBearerTokenAppCtx(a.ctx, req)
if err != nil { if err != nil {
a.log.Error("could not fetch and store bearer token", zap.Error(err)) a.log.Error("could not fetch and store bearer token", zap.Error(err))
response.Error(ctx, "could not fetch and store bearer token: "+err.Error(), fasthttp.StatusBadRequest) response.Error(req, "could not fetch and store bearer token: "+err.Error(), fasthttp.StatusBadRequest)
} }
utils.SetContextToRequest(appCtx, ctx) utils.SetContextToRequest(appCtx, req)
req(ctx) h(req)
} }
} }
func (a *app) tracer(req fasthttp.RequestHandler) fasthttp.RequestHandler { func (a *app) tracer(h fasthttp.RequestHandler) fasthttp.RequestHandler {
return func(ctx *fasthttp.RequestCtx) { return func(req *fasthttp.RequestCtx) {
appCtx := utils.GetContextFromRequest(ctx) appCtx := utils.GetContextFromRequest(req)
appCtx, span := utils.StartHTTPServerSpan(appCtx, ctx, "REQUEST") appCtx, span := utils.StartHTTPServerSpan(appCtx, req, "REQUEST")
defer func() { defer func() {
utils.SetHTTPTraceInfo(appCtx, span, ctx) utils.SetHTTPTraceInfo(appCtx, span, req)
span.End() span.End()
}() }()
utils.SetContextToRequest(appCtx, ctx) utils.SetContextToRequest(appCtx, req)
req(ctx) h(req)
} }
} }

View file

@ -320,11 +320,7 @@ func mergeConfig(v *viper.Viper, fileName string) error {
} }
}() }()
if err = v.MergeConfig(cfgFile); err != nil { return v.MergeConfig(cfgFile)
return err
}
return nil
} }
// newLogger constructs a zap.Logger instance for current application. // newLogger constructs a zap.Logger instance for current application.

View file

@ -13,9 +13,11 @@ import (
type fromHandler = func(h *fasthttp.RequestHeader) []byte type fromHandler = func(h *fasthttp.RequestHeader) []byte
type ctxKey string
const ( const (
bearerTokenHdr = "Bearer" bearerTokenHdr = "Bearer"
bearerTokenKey = "__context_bearer_token_key" bearerTokenKey ctxKey = "__context_bearer_token_key"
) )
// BearerToken usage: // BearerToken usage:
@ -50,12 +52,12 @@ func BearerTokenFromCookie(h *fasthttp.RequestHeader) []byte {
// StoreBearerTokenAppCtx extracts a bearer token from the header or cookie and stores // StoreBearerTokenAppCtx extracts a bearer token from the header or cookie and stores
// it in the application context. // it in the application context.
func StoreBearerTokenAppCtx(ctx *fasthttp.RequestCtx, appCtx context.Context) (context.Context, error) { func StoreBearerTokenAppCtx(ctx context.Context, req *fasthttp.RequestCtx) (context.Context, error) {
tkn, err := fetchBearerToken(ctx) tkn, err := fetchBearerToken(req)
if err != nil { if err != nil {
return nil, err return nil, err
} }
newCtx := context.WithValue(appCtx, bearerTokenKey, tkn) newCtx := context.WithValue(ctx, bearerTokenKey, tkn)
return newCtx, nil return newCtx, nil
} }

View file

@ -151,10 +151,10 @@ func Test_checkAndPropagateBearerToken(t *testing.T) {
t64 := base64.StdEncoding.EncodeToString(tkn.Marshal()) t64 := base64.StdEncoding.EncodeToString(tkn.Marshal())
require.NotEmpty(t, t64) require.NotEmpty(t, t64)
ctx := makeTestRequest(t64, "") req := makeTestRequest(t64, "")
// Expect to see the token within the context. // Expect to see the token within the context.
appCtx, err := StoreBearerTokenAppCtx(ctx, context.Background()) appCtx, err := StoreBearerTokenAppCtx(context.Background(), req)
require.NoError(t, err) require.NoError(t, err)
// Expect to see the same token without errors. // Expect to see the same token without errors.