From e2961e66420e5484766e3d107a74a7e56c640f70 Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Tue, 5 Oct 2021 01:06:35 +0500 Subject: [PATCH] :rotating_light: Removed linter warnings --- .golangci.yml | 9 +++-- internal/middleware/csrf.go | 34 +++++++++---------- internal/middleware/middleware.go | 9 ++--- .../repository/mastodon/mastodon_profile.go | 2 ++ internal/random/random.go | 1 + internal/util/test_serve.go | 4 +-- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index a11d1ea..26a2e28 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -5,9 +5,14 @@ linters-settings: lll: tab-width: 8 gci: - local-prefixes: source.toby3d.me/ + local-prefixes: source.toby3d.me goimports: - local-prefixes: source.toby3d.me/ + local-prefixes: source.toby3d.me linters: enable-all: true +issues: + exclude-rules: + - source: "^//go:generate " + linters: + - lll fix: true diff --git a/internal/middleware/csrf.go b/internal/middleware/csrf.go index 8826966..22dea55 100644 --- a/internal/middleware/csrf.go +++ b/internal/middleware/csrf.go @@ -30,8 +30,7 @@ type ( ) // HeaderXCSRFToken describes the name of the header with the CSRF token. -//nolint: gosec -const HeaderXCSRFToken string = "X-CSRF-Token" +const HeaderXCSRFToken string = "X-CSRF-Token" //nolint: gosec var ( ErrMissingFormToken = errors.New("missing csrf token in the form parameter") @@ -39,23 +38,23 @@ var ( ) // DefaultCSRFConfig contains the default CSRF middleware configuration. -//nolint: exhaustivestruct, gochecknoglobals, gomnd +//nolint: gochecknoglobals, gomnd var DefaultCSRFConfig = CSRFConfig{ - ContextKey: "csrf", - CookieHTTPOnly: false, - CookieMaxAge: 24 * time.Hour, - CookieName: "_csrf", - CookieSameSite: http.CookieSameSiteDefaultMode, - CookieSecure: false, Skipper: DefaultSkipper, - TokenLength: 32, + CookieMaxAge: 24 * time.Hour, + CookieSameSite: http.CookieSameSiteDefaultMode, + ContextKey: "csrf", + CookieDomain: "", + CookieName: "_csrf", + CookiePath: "", TokenLookup: "header:" + HeaderXCSRFToken, + TokenLength: 32, + CookieSecure: false, + CookieHTTPOnly: false, } func CSRF() Interceptor { - cfg := DefaultCSRFConfig - - return CSRFWithConfig(cfg) + return CSRFWithConfig(DefaultCSRFConfig) } //nolint: funlen, cyclop @@ -130,7 +129,7 @@ func CSRFWithConfig(config CSRFConfig) Interceptor { } } - // Set CSRF cookie + // NOTE(toby3d): set CSRF cookie cookie := http.AcquireCookie() defer http.ReleaseCookie(cookie) @@ -172,12 +171,11 @@ func csrfTokenFromHeader(header string) csrfTokenExtractor { func csrfTokenFromForm(param string) csrfTokenExtractor { return func(ctx *http.RequestCtx) ([]byte, error) { - token := ctx.FormValue(param) - if token == nil { - return nil, ErrMissingFormToken + if token := ctx.FormValue(param); token != nil { + return token, nil } - return token, nil + return nil, ErrMissingFormToken } } diff --git a/internal/middleware/middleware.go b/internal/middleware/middleware.go index 4afd13c..4324604 100644 --- a/internal/middleware/middleware.go +++ b/internal/middleware/middleware.go @@ -3,13 +3,10 @@ package middleware import http "github.com/valyala/fasthttp" type ( - Chain []Interceptor - - Interceptor func(*http.RequestCtx, http.RequestHandler) - + Chain []Interceptor + Interceptor func(*http.RequestCtx, http.RequestHandler) RequestHandler http.RequestHandler - - Skipper func(*http.RequestCtx) bool + Skipper func(*http.RequestCtx) bool ) // DefaultSkipper is the default skipper, which always returns false. diff --git a/internal/profile/repository/mastodon/mastodon_profile.go b/internal/profile/repository/mastodon/mastodon_profile.go index 35212f8..2eef3f4 100644 --- a/internal/profile/repository/mastodon/mastodon_profile.go +++ b/internal/profile/repository/mastodon/mastodon_profile.go @@ -15,6 +15,7 @@ import ( ) type ( + //nolint: tagliatelle Response struct { DisplayName string `json:"display_name"` Avatar string `json:"avatar"` @@ -62,5 +63,6 @@ func (repo *mastodonProfileRepository) Get(ctx context.Context, token oauth2.Tok Name: result.DisplayName, URL: result.URL, Photo: result.Avatar, + Email: "", }, nil } diff --git a/internal/random/random.go b/internal/random/random.go index ed54cb8..3590ee5 100644 --- a/internal/random/random.go +++ b/internal/random/random.go @@ -34,6 +34,7 @@ func (r *Random) String(length int, charsets ...string) string { b := make([]byte, length) for i := range b { + //nolint: gosec b[i] = charset[rand.Int()%len(charset)] } diff --git a/internal/util/test_serve.go b/internal/util/test_serve.go index d94489a..8e0c00a 100644 --- a/internal/util/test_serve.go +++ b/internal/util/test_serve.go @@ -31,10 +31,10 @@ func TestServe(tb testing.TB, handler http.RequestHandler) (*http.Client, *http. client := &http.Client{ TLSConfig: &tls.Config{ - InsecureSkipVerify: true, + InsecureSkipVerify: true, //nolint: gosec }, Dial: func(addr string) (net.Conn, error) { - return ln.Dial() + return ln.Dial() //nolint: wrapcheck }, }