aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/lasiar
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-01-22 16:07:17 +0100
committerTaras Madan <tarasmadan@google.com>2025-01-23 10:42:36 +0000
commit7b4377ad9d8a7205416df8d6217ef2b010f89481 (patch)
treee6fec4fd12ff807a16d847923f501075bf71d16c /vendor/github.com/lasiar
parent475a4c203afb8b7d3af51c4fd32bb170ff32a45e (diff)
vendor: delete
Diffstat (limited to 'vendor/github.com/lasiar')
-rw-r--r--vendor/github.com/lasiar/canonicalheader/.gitignore1
-rw-r--r--vendor/github.com/lasiar/canonicalheader/.golangci.yaml784
-rw-r--r--vendor/github.com/lasiar/canonicalheader/.goreleaser.yaml18
-rw-r--r--vendor/github.com/lasiar/canonicalheader/LICENCE21
-rw-r--r--vendor/github.com/lasiar/canonicalheader/README.md77
-rw-r--r--vendor/github.com/lasiar/canonicalheader/analyzer.go265
-rw-r--r--vendor/github.com/lasiar/canonicalheader/constant_string.go50
-rw-r--r--vendor/github.com/lasiar/canonicalheader/initialism.go75
-rw-r--r--vendor/github.com/lasiar/canonicalheader/literal_string.go80
-rw-r--r--vendor/github.com/lasiar/canonicalheader/makefile12
10 files changed, 0 insertions, 1383 deletions
diff --git a/vendor/github.com/lasiar/canonicalheader/.gitignore b/vendor/github.com/lasiar/canonicalheader/.gitignore
deleted file mode 100644
index 723ef36f4..000000000
--- a/vendor/github.com/lasiar/canonicalheader/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-.idea \ No newline at end of file
diff --git a/vendor/github.com/lasiar/canonicalheader/.golangci.yaml b/vendor/github.com/lasiar/canonicalheader/.golangci.yaml
deleted file mode 100644
index 997ec0cb0..000000000
--- a/vendor/github.com/lasiar/canonicalheader/.golangci.yaml
+++ /dev/null
@@ -1,784 +0,0 @@
-# See: https://olegk.dev/go-linters-configuration-the-right-version
-
-run:
- # Automatically adjust the maximum concurrency to the container CPU quota.
- concurrency: 0
-
- # I really care about the result, so I'm fine to wait for it.
- timeout: 30m
-
- # Fail if the error was met.
- issues-exit-code: 1
-
- # This is very important, bugs in tests are not acceptable either.
- tests: true
-
- # In most cases this can be empty but there is a popular pattern
- # to keep integration tests under this tag. Such tests often require
- # additional setups like Postgres, Redis etc and are run separately.
- # (to be honest I don't find this useful but I have such tags)
- build-tags:
- - integration
-
- # Autogenerated files can be skipped (I'm looking at you gRPC).
- # AFAIK autogen files are skipped but skipping the whole directory should be somewhat faster.
- #skip-files:
- # - "protobuf/.*.go"
-
- # With the read-only mode linter will fail if go.mod file is outdated.
- modules-download-mode: readonly
-
- # Till today I didn't know this param exists, never ran 2 golangci-lint at once.
- allow-parallel-runners: false
-
- # Keep this empty to use the Go version from the go.mod file.
- go: ""
-
-linters:
- # Set to true runs only fast linters.
- # Good option for 'lint on save', pre-commit hook or CI.
- fast: false
-
- enable:
- # Globals and init() are no ok, because this linter use on golangci lint.
- - gochecknoglobals
- - gochecknoinits
- # Check for pass []any as any in variadic func(...any).
- # Rare case but saved me from debugging a few times.
- - asasalint
-
- # I prefer plane ASCII identifiers.
- # Symbol `∆` instead of `delta` looks cool but no thanks.
- - asciicheck
-
- # Checks for dangerous unicode character sequences.
- # Super rare but why not to be a bit paranoid?
- - bidichk
-
- # Checks whether HTTP response body is closed successfully.
- - bodyclose
-
- # Check whether the function uses a non-inherited context.
- - contextcheck
-
- # after go 1.22 don't need copy var at for range.
- - copyloopvar
-
- # Find duplicate words, rare.
- - dupword
-
- # Check for two durations multiplied together.
- - durationcheck
-
- # Forces to not skip error check.
- - errcheck
-
- # Checks `Err-` prefix for var and `-Error` suffix for error type.
- - errname
-
- # Suggests to use `%w` for error-wrapping.
- - errorlint
-
- # Checks for pointers to enclosing loop variables.
- - exportloopref
-
-
- # Imports order.
- - gci
-
- # As you already know I'm a co-author. It would be strange to not use
- # one of my warmly loved projects.
- - gocritic
-
- # Forces to put `.` at the end of the comment. Code is poetry.
- - godot
-
- # Might not be that important but I prefer to keep all of them.
- # `gofumpt` is amazing, kudos to Daniel Marti https://github.com/mvdan/gofumpt
- - gofmt
- - gofumpt
- - goimports
-
- # Allow or ban replace directives in go.mod
- # or force explanation for retract directives.
- - gomoddirectives
-
- # Powerful security-oriented linter. But requires some time to
- # configure it properly, see https://github.com/securego/gosec#available-rules
- - gosec
-
- # Linter that specializes in simplifying code.
- - gosimple
-
- # Official Go tool. Must have.
- - govet
-
- # Detects when assignments to existing variables are not used
- # Last week I caught a bug with it.
- - ineffassign
-
- # range over int, work after go 1.22
- - intrange
-
- # Fix all the misspells, amazing thing.
- - misspell
-
- # Reports wrong mirror patterns of bytes/strings usage.
- - mirror
-
- # Finds naked/bare returns and requires change them.
- - nakedret
-
- # Both require a bit more explicit returns.
- - nilerr
- - nilnil
-
- # Finds sending HTTP request without context.Context.
- - noctx
-
- # Forces comment why another check is disabled.
- # Better not to have //nolint: at all ;)
- - nolintlint
-
- # aiming at usages of fmt.Sprintf which have faster alternatives.
- - perfsprint
-
- # Finds slices that could potentially be pre-allocated.
- # Small performance win + cleaner code.
- - prealloc
-
- # Finds shadowing of Go's predeclared identifiers.
- # I hear a lot of complaints from junior developers.
- # But after some time they find it very useful.
- - predeclared
-
- # Lint your Prometheus metrics name.
- - promlinter
-
- # Checks that package variables are not reassigned.
- # Super rare case but can catch bad things (like `io.EOF = nil`)
- - reassign
-
- # Drop-in replacement of `golint`.
- - revive
-
- # Somewhat similar to `bodyclose` but for `database/sql` package.
- - rowserrcheck
- - sqlclosecheck
-
- # Ensure consistent code style when using log/slog.
- - sloglint
-
- # I have found that it's not the same as staticcheck binary :\
- - staticcheck
-
- # Is a replacement for `golint`, similar to `revive`.
- - stylecheck
-
- # Check struct tags.
- - tagliatelle
-
- # Test-related checks. All of them are good.
- - tenv
- - testableexamples
- - testifylint
- - thelper
- - tparallel
-
- # Remove unnecessary type conversions, make code cleaner
- - unconvert
-
- # Might be noisy but better to know what is unused
- - unparam
-
- # Must have. Finds unused declarations.
- - unused
-
- # Detect the possibility to use variables/constants from stdlib.
- - usestdlibvars
-
- # Finds wasted assignment statements.
- - wastedassign
-
- disable:
- # Detects struct contained context.Context field. Not a problem.
- - containedctx
-
- # Checks function and package cyclomatic complexity.
- # I can have a long but trivial switch-case.
- #
- # Cyclomatic complexity is a measurement, not a goal.
- # (c) Bryan C. Mills / https://github.com/bcmills
- - cyclop
-
- # Check declaration order of types, consts, vars and funcs.
- # I like it but I don't use it.
- - decorder
-
- # Checks if package imports are in a list of acceptable packages.
- # I'm very picky about what I import, so no automation.
- - depguard
-
- # Checks assignments with too many blank identifiers. Very rare.
- - dogsled
-
- # Tool for code clone detection.
- - dupl
-
- # I'm fine to check the error from json.Marshal ¯\_(ツ)_/¯
- - errchkjson
-
- # All SQL queries MUST BE covered with tests.
- - execinquery
-
- # Forces to handle more cases. Cool but noisy.
- - exhaustive
- - exhaustruct
-
- # Forbids some identifiers. I don't have a case for it.
- - forbidigo
-
- # Finds forced type assertions, very good for juniors.
- - forcetypeassert
-
- # I might have long but a simple function.
- - funlen
-
- # I'm not a fan of ginkgo and gomega packages.
- - ginkgolinter
-
- # Checks that compiler directive comments (//go:) are valid. Rare.
- - gocheckcompilerdirectives
-
- # Same as `cyclop` linter (see above)
- - gocognit
- - goconst
- - gocyclo
-
- # TODO and friends are ok.
- - godox
-
- # Check the error handling expressions. Too noisy.
- - err113
-
- # I don't use file headers.
- - goheader
-
- # Reports magic consts. Might be noisy but still good.
- - mnd
-
- # Allowed/blocked packages to import. I prefer to do it manually.
- - gomodguard
-
- # Printf-like functions must have -f.
- - goprintffuncname
-
- # Groupt declarations, I prefer manually.
- - grouper
-
- # Checks imports aliases, rare.
- - importas
-
- # Forces tiny interfaces, very subjective.
- - interfacebloat
-
- # Accept interfaces, return types. Not always.
- - ireturn
-
- # I don't set line length. 120 is fine by the way ;)
- - lll
-
- # Some log checkers, might be useful.
- - loggercheck
-
- # Maintainability index of each function, subjective.
- - maintidx
-
- # Slice declarations with non-zero initial length. Not my case.
- - makezero
-
- # Enforce tags in un/marshaled structs. Cool but not my case.
- - musttag
-
- # Deeply nested if statements, subjective.
- - nestif
-
- # Forces newlines in some places.
- - nlreturn
-
- # Reports all named returns, not that bad.
- - nonamedreturns
-
- # Finds misuse of Sprintf with host:port in a URL. Cool but rare.
- - nosprintfhostport
-
- # I don't use t.Parallel() that much.
- - paralleltest
-
- # Often non-`_test` package is ok.
- - testpackage
-
- # Compiler can do it too :)
- - typecheck
-
- # I'm fine with long variable names with a small scope.
- - varnamelen
-
- # gofmt,gofumpt covers that (from what I know).
- - whitespace
-
- # Don't find it useful to wrap all errors from external packages.
- - wrapcheck
-
- # Forces you to use empty lines. Great if configured correctly.
- # I mean there is an agreement in a team.
- - wsl
-
-linters-settings:
- gci:
- sections:
- - standard
- - default
- - localmodule
-
- revive:
- # Maximum number of open files at the same time.
- # See https://github.com/mgechev/revive#command-line-flags
- # Defaults to unlimited.
- max-open-files: 2048
- # When set to false, ignores files with "GENERATED" header, similar to golint.
- # See https://github.com/mgechev/revive#available-rules for details.
- # Default: false
- ignore-generated-header: true
- # Sets the default severity.
- # See https://github.com/mgechev/revive#configuration
- # Default: warning
- severity: error
- # Enable all available rules.
- # Default: false
- enable-all-rules: true
- # Sets the default failure confidence.
- # This means that linting errors with less than 0.8 confidence will be ignored.
- # Default: 0.8
- confidence: 0.1
- rules:
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#add-constant
- - name: add-constant
- severity: warning
- disabled: false
- arguments:
- - maxLitCount: "3"
- allowStrs: '""'
- allowInts: "0,1,2"
- allowFloats: "0.0,0.,1.0,1.,2.0,2."
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#argument-limit
- - name: argument-limit
- severity: warning
- disabled: false
- arguments: [4]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#atomic
- - name: atomic
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#banned-characters
- - name: banned-characters
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bare-return
- - name: bare-return
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#blank-imports
- - name: blank-imports
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bool-literal-in-expr
- - name: bool-literal-in-expr
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#call-to-gc
- - name: call-to-gc
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#cognitive-complexity
- - name: cognitive-complexity
- severity: warning
- disabled: true
- arguments: [7]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#comment-spacings
- - name: comment-spacings
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#confusing-naming
- - name: confusing-naming
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#confusing-results
- - name: confusing-results
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#constant-logical-expr
- - name: constant-logical-expr
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-as-argument
- - name: context-as-argument
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-keys-type
- - name: context-keys-type
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#cyclomatic
- - name: cyclomatic
- severity: warning
- disabled: true
- arguments: [3]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#datarace
- - name: datarace
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#deep-exit
- - name: deep-exit
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#defer
- - name: defer
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#dot-imports
- - name: dot-imports
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#duplicated-imports
- - name: duplicated-imports
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#early-return
- - name: early-return
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-block
- - name: empty-block
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-lines
- - name: empty-lines
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#enforce-map-style
- - name: enforce-map-style
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-naming
- - name: error-naming
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-return
- - name: error-return
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#function-length
- - name: function-length
- severity: warning
- disabled: true
- arguments: [10, 0]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-strings
- - name: error-strings
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#errorf
- - name: errorf
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#exported
- - name: exported
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#file-header
- - name: file-header
- severity: warning
- disabled: true
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#flag-parameter
- - name: flag-parameter
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#function-result-limit
- - name: function-result-limit
- severity: warning
- disabled: false
- arguments: [2]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#get-return
- - name: get-return
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#identical-branches
- - name: identical-branches
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#if-return
- - name: if-return
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#increment-decrement
- - name: increment-decrement
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#indent-error-flow
- - name: indent-error-flow
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-alias-naming
- - name: import-alias-naming
- severity: warning
- disabled: false
- arguments:
- - "^[a-z][a-z0-9]{0,}$"
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#imports-blacklist
- - name: imports-blacklist
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-shadowing
- - name: import-shadowing
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#line-length-limit
- - name: line-length-limit
- severity: warning
- disabled: true
- arguments: [80]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#max-public-structs
- - name: max-public-structs
- severity: warning
- disabled: false
- arguments: [3]
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#modifies-parameter
- - name: modifies-parameter
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#modifies-value-receiver
- - name: modifies-value-receiver
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#nested-structs
- - name: nested-structs
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#optimize-operands-order
- - name: optimize-operands-order
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#package-comments
- - name: package-comments
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range
- - name: range
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-in-closure
- - name: range-val-in-closure
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-address
- - name: range-val-address
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#receiver-naming
- - name: receiver-naming
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redundant-import-alias
- - name: redundant-import-alias
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redefines-builtin-id
- - name: redefines-builtin-id
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-of-int
- - name: string-of-int
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-format
- - name: string-format
- severity: warning
- disabled: false
- arguments:
- - - 'core.WriteError[1].Message'
- - '/^([^A-Z]|$)/'
- - must not start with a capital letter
- - - 'fmt.Errorf[0]'
- - '/(^|[^\.!?])$/'
- - must not end in punctuation
- - - panic
- - '/^[^\n]*$/'
- - must not contain line breaks
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#struct-tag
- - name: struct-tag
- arguments:
- - "json,inline"
- - "bson,outline,gnu"
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#superfluous-else
- - name: superfluous-else
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#time-equal
- - name: time-equal
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#time-naming
- - name: time-naming
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-naming
- - name: var-naming
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-declaration
- - name: var-declaration
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unconditional-recursion
- - name: unconditional-recursion
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-naming
- - name: unexported-naming
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-return
- - name: unexported-return
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unhandled-error
- - name: unhandled-error
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unnecessary-stmt
- - name: unnecessary-stmt
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unreachable-code
- - name: unreachable-code
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter
- - name: unused-parameter
- severity: warning
- disabled: false
- arguments:
- - allowRegex: "^_"
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-receiver
- - name: unused-receiver
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#useless-break
- - name: useless-break
- severity: warning
- disabled: false
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#waitgroup-by-value
- - name: waitgroup-by-value
- severity: warning
- disabled: false
- # I'm biased and I'm enabling more than 100 checks
- # Might be too much for you. See https://go-critic.com/overview.html
- gocritic:
- enabled-tags:
- - diagnostic
- - experimental
- - opinionated
- - performance
- - style
- disabled-checks:
- # These 3 will detect many cases, but they do sense
- # if it's performance oriented code
- - hugeParam
- - rangeExprCopy
- - rangeValCopy
-
- godot:
- scope: all
-
- errcheck:
- # Report `a := b.(MyStruct)` when `a, ok := ...` should be.
- check-type-assertions: true # Default: false
-
- # Report skipped checks:`num, _ := strconv.Atoi(numStr)`.
- check-blank: true # Default: false
-
- # Function to skip.
- exclude-functions:
- - io/ioutil.ReadFile
- - io.Copy(*bytes.Buffer)
- - io.Copy(os.Stdout)
-
- govet:
- disable:
- - fieldalignment # I'm ok to waste some bytes
-
- nakedret:
- # No naked returns, ever.
- max-func-lines: 1 # Default: 30
-
- tagliatelle:
- case:
- rules:
- json: snake # why it's not a `snake` by default?!
- yaml: snake # why it's not a `snake` by default?!
- xml: camel
- bson: camel
- avro: snake
- mapstructure: kebab
-
-# See also https://gist.github.com/cristaloleg/dc29ca0ef2fb554de28d94c3c6f6dc88
-
-output:
- # I prefer the simplest one: `line-number` and saving to `lint.txt`
- #
- # The `tab` also looks good and with the next release I will switch to it
- # (ref: https://github.com/golangci/golangci-lint/issues/3728)
- #
- # There are more formats which can be used on CI or by your IDE.
- formats:
- - format: line-number
-
- # I do not find this useful, parameter above already enables filepath
- # with a line and column. For me, it's easier to follow the path and
- # see the line in an IDE where I see more code and understand it better.
- print-issued-lines: false
-
- # Must have. Easier to understand the output.
- print-linter-name: true
-
- # No, no skips, everything should be reported.
- uniq-by-line: false
-
- # To be honest no idea when this can be needed, maybe a multi-module setup?
- path-prefix: ""
-
- # Slightly easier to follow the results + getting deterministic output.
- sort-results: true
-
-issues:
- exclude-dirs-use-default: false
- # I found it strange to skip the errors, setting 0 to have all the results.
- max-issues-per-linter: 0
-
- # Same here, nothing should be skipped to not miss errors.
- max-same-issues: 0
-
- # When set to `true` linter will analyze only new code which are
- # not committed or after some specific revision. This is a cool
- # feature when you're going to introduce linter into a big project.
- # But I prefer going gradually package by package.
- # So, it's set to `false` to scan all code.
- new: false
-
- # 2 other params regarding git integration
-
- # Even with a recent GPT-4 release I still believe that
- # I know better how to do my job and fix the suggestions.
- fix: false \ No newline at end of file
diff --git a/vendor/github.com/lasiar/canonicalheader/.goreleaser.yaml b/vendor/github.com/lasiar/canonicalheader/.goreleaser.yaml
deleted file mode 100644
index ada67063e..000000000
--- a/vendor/github.com/lasiar/canonicalheader/.goreleaser.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-builds:
- - main: ./cmd/canonicalheader
- env:
- - CGO_ENABLED=0
- flags:
- - -trimpath
- ldflags:
- - -s -w
- targets:
- - darwin_amd64
- - darwin_arm64
- - linux_amd64
- - windows_amd64
-
-archives:
- - format_overrides:
- - goos: windows
- format: zip \ No newline at end of file
diff --git a/vendor/github.com/lasiar/canonicalheader/LICENCE b/vendor/github.com/lasiar/canonicalheader/LICENCE
deleted file mode 100644
index 5b93b736c..000000000
--- a/vendor/github.com/lasiar/canonicalheader/LICENCE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023 Roman Chaliy
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE. \ No newline at end of file
diff --git a/vendor/github.com/lasiar/canonicalheader/README.md b/vendor/github.com/lasiar/canonicalheader/README.md
deleted file mode 100644
index 997145219..000000000
--- a/vendor/github.com/lasiar/canonicalheader/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# canonicalheader
-
-[![CI](https://github.com/lasiar/canonicalheader/actions/workflows/test.yml/badge.svg)](https://github.com/lasiar/canonicalheader/actions/workflows/test.yml)
-[![tag](https://img.shields.io/github/tag/lasiar/canonicalheader.svg)](https://github.com/lasiar/canonicalheader/releases)
-[![Go Report Card](https://goreportcard.com/badge/github.com/lasiar/canonicalheader)](https://goreportcard.com/report/github.com/lasiar/canonicalheader)
-[![License](https://img.shields.io/github/license/lasiar/canonicalheader)](./LICENCE)
-
-Golang linter for check canonical header.
-
-### Install
-
-```shell
-go install -v github.com/lasiar/canonicalheader/cmd/canonicalheader@latest
-```
-
-Or download the binary file from the [release](https://github.com/lasiar/canonicalheader/releases/latest).
-
-
-### Example
-
-before
-
-```go
-package main
-
-import (
- "net/http"
-)
-
-const testHeader = "testHeader"
-
-func main() {
- v := http.Header{}
- v.Get(testHeader)
-
- v.Get("Test-HEader")
- v.Set("Test-HEader", "value")
- v.Add("Test-HEader", "value")
- v.Del("Test-HEader")
- v.Values("Test-HEader")
-
- v.Set("Test-Header", "value")
- v.Add("Test-Header", "value")
- v.Del("Test-Header")
- v.Values("Test-Header")
-}
-
-```
-
-after
-
-```go
-package main
-
-import (
- "net/http"
-)
-
-const testHeader = "testHeader"
-
-func main() {
- v := http.Header{}
- v.Get(testHeader)
-
- v.Get("Test-Header")
- v.Set("Test-Header", "value")
- v.Add("Test-Header", "value")
- v.Del("Test-Header")
- v.Values("Test-Header")
-
- v.Set("Test-Header", "value")
- v.Add("Test-Header", "value")
- v.Del("Test-Header")
- v.Values("Test-Header")
-}
-
-```
diff --git a/vendor/github.com/lasiar/canonicalheader/analyzer.go b/vendor/github.com/lasiar/canonicalheader/analyzer.go
deleted file mode 100644
index 258ebdfd4..000000000
--- a/vendor/github.com/lasiar/canonicalheader/analyzer.go
+++ /dev/null
@@ -1,265 +0,0 @@
-package canonicalheader
-
-import (
- "fmt"
- "go/ast"
- "go/types"
- "net/http"
-
- "github.com/go-toolsmith/astcast"
- "golang.org/x/tools/go/analysis"
- "golang.org/x/tools/go/analysis/passes/inspect"
- "golang.org/x/tools/go/ast/inspector"
- "golang.org/x/tools/go/types/typeutil"
-)
-
-const (
- pkgPath = "net/http"
- name = "Header"
-)
-
-//nolint:gochecknoglobals // struct is not big, can be skip.
-var Analyzer = &analysis.Analyzer{
- Name: "canonicalheader",
- Doc: "canonicalheader checks whether net/http.Header uses canonical header",
- Run: run,
- Requires: []*analysis.Analyzer{inspect.Analyzer},
-}
-
-type argumenter interface {
- diagnostic(canonicalHeader string) analysis.Diagnostic
- value() string
-}
-
-func run(pass *analysis.Pass) (any, error) {
- var headerObject types.Object
- for _, object := range pass.TypesInfo.Uses {
- if object.Pkg() != nil &&
- object.Pkg().Path() == pkgPath &&
- object.Name() == name {
- headerObject = object
- break
- }
- }
-
- if headerObject == nil {
- //nolint:nilnil // nothing to do here, because http.Header{} not usage.
- return nil, nil
- }
-
- spctor, ok := pass.ResultOf[inspect.Analyzer].(*inspector.Inspector)
- if !ok {
- return nil, fmt.Errorf("want %T, got %T", spctor, pass.ResultOf[inspect.Analyzer])
- }
-
- wellKnownHeaders := initialism()
-
- nodeFilter := []ast.Node{
- (*ast.CallExpr)(nil),
- }
- var outerErr error
-
- spctor.Preorder(nodeFilter, func(n ast.Node) {
- if outerErr != nil {
- return
- }
-
- callExp, ok := n.(*ast.CallExpr)
- if !ok {
- return
- }
-
- var (
- // gotType type receiver.
- gotType types.Type
- gotMethodName string
- )
-
- switch t := typeutil.Callee(pass.TypesInfo, callExp).(type) {
- // Direct call method.
- case *types.Func:
- fn := t
- // Find net/http.Header{} by function call.
- signature, ok := fn.Type().(*types.Signature)
- if !ok {
- return
- }
-
- recv := signature.Recv()
-
- // It's a func, not a method.
- if recv == nil {
- return
- }
- gotType = recv.Type()
- gotMethodName = astcast.ToSelectorExpr(callExp.Fun).Sel.Name
-
- // h := http.Header{}
- // f := h.Get
- // v("Test-Value").
- case *types.Var:
- ident, ok := callExp.Fun.(*ast.Ident)
- if !ok {
- return
- }
-
- if ident.Obj == nil {
- return
- }
-
- // f := h.Get.
- assign, ok := ident.Obj.Decl.(*ast.AssignStmt)
- if !ok {
- return
- }
-
- // For case `i, v := 0, h.Get`.
- // indexAssign--^.
- indexAssign := -1
- for i, lh := range assign.Lhs {
- // Find by name of variable.
- if astcast.ToIdent(lh).Name == ident.Name {
- indexAssign = i
- }
- }
-
- // Not found.
- if indexAssign == -1 {
- return
- }
-
- if len(assign.Rhs) <= indexAssign {
- return
- }
-
- sel, ok := assign.Rhs[indexAssign].(*ast.SelectorExpr)
- if !ok {
- return
- }
-
- gotMethodName = sel.Sel.Name
- ident, ok = sel.X.(*ast.Ident)
- if !ok {
- return
- }
-
- obj := pass.TypesInfo.ObjectOf(ident)
- gotType = obj.Type()
-
- default:
- return
- }
-
- // It is not net/http.Header{}.
- if !types.Identical(gotType, headerObject.Type()) {
- return
- }
-
- // Search for known methods where the key is the first arg.
- if !isValidMethod(gotMethodName) {
- return
- }
-
- // Should be more than one. Because get the value by index it
- // will not be superfluous.
- if len(callExp.Args) == 0 {
- return
- }
-
- callArg := callExp.Args[0]
-
- // Check for type casting from myString to string.
- // it could be: Get(string(string(string(myString)))).
- // need this node------------------------^^^^^^^^.
- for {
- // If it is not *ast.CallExpr, this is a value.
- c, ok := callArg.(*ast.CallExpr)
- if !ok {
- break
- }
-
- // Some function is called, skip this case.
- if len(c.Args) == 0 {
- return
- }
-
- f, ok := c.Fun.(*ast.Ident)
- if !ok {
- break
- }
-
- obj := pass.TypesInfo.ObjectOf(f)
- // nil may be by code, but not by logic.
- // TypeInfo should contain of type.
- if obj == nil {
- break
- }
-
- // This is function.
- // Skip this method call.
- _, ok = obj.Type().(*types.Signature)
- if ok {
- return
- }
-
- callArg = c.Args[0]
- }
-
- var arg argumenter
- switch t := callArg.(type) {
- case *ast.BasicLit:
- lString, err := newLiteralString(t)
- if err != nil {
- return
- }
-
- arg = lString
-
- case *ast.Ident:
- constString, err := newConstantKey(pass.TypesInfo, t)
- if err != nil {
- return
- }
-
- arg = constString
-
- default:
- return
- }
-
- argValue := arg.value()
- headerKeyCanonical := http.CanonicalHeaderKey(argValue)
- if argValue == headerKeyCanonical {
- return
- }
-
- headerKeyCanonical, isWellKnown := canonicalHeaderKey(argValue, wellKnownHeaders)
- if argValue == headerKeyCanonical || isWellKnown {
- return
- }
-
- pass.Report(arg.diagnostic(headerKeyCanonical))
- })
-
- return nil, outerErr
-}
-
-func canonicalHeaderKey(s string, m map[string]string) (string, bool) {
- canonical := http.CanonicalHeaderKey(s)
-
- wellKnown, ok := m[canonical]
- if !ok {
- return canonical, ok
- }
-
- return wellKnown, ok
-}
-
-func isValidMethod(name string) bool {
- switch name {
- case "Get", "Set", "Add", "Del", "Values":
- return true
- default:
- return false
- }
-}
diff --git a/vendor/github.com/lasiar/canonicalheader/constant_string.go b/vendor/github.com/lasiar/canonicalheader/constant_string.go
deleted file mode 100644
index 27988f0d5..000000000
--- a/vendor/github.com/lasiar/canonicalheader/constant_string.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package canonicalheader
-
-import (
- "fmt"
- "go/ast"
- "go/constant"
- "go/token"
- "go/types"
-
- "golang.org/x/tools/go/analysis"
-)
-
-type constantString struct {
- originalValue,
- nameOfConst string
-
- pos token.Pos
- end token.Pos
-}
-
-func newConstantKey(info *types.Info, ident *ast.Ident) (constantString, error) {
- c, ok := info.ObjectOf(ident).(*types.Const)
- if !ok {
- return constantString{}, fmt.Errorf("type %T is not support", c)
- }
-
- return constantString{
- nameOfConst: c.Name(),
- originalValue: constant.StringVal(c.Val()),
- pos: ident.Pos(),
- end: ident.End(),
- }, nil
-}
-
-func (c constantString) diagnostic(canonicalHeader string) analysis.Diagnostic {
- return analysis.Diagnostic{
- Pos: c.pos,
- End: c.end,
- Message: fmt.Sprintf(
- "const %q used as a key at http.Header, but %q is not canonical, want %q",
- c.nameOfConst,
- c.originalValue,
- canonicalHeader,
- ),
- }
-}
-
-func (c constantString) value() string {
- return c.originalValue
-}
diff --git a/vendor/github.com/lasiar/canonicalheader/initialism.go b/vendor/github.com/lasiar/canonicalheader/initialism.go
deleted file mode 100644
index c3d91c23e..000000000
--- a/vendor/github.com/lasiar/canonicalheader/initialism.go
+++ /dev/null
@@ -1,75 +0,0 @@
-// Code generated by initialismer; DO NOT EDIT.
-package canonicalheader
-
-// initialism mapping of not canonical headers from
-// https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
-// https://www.iana.org/assignments/http-fields/http-fields.xhtml.
-func initialism() map[string]string {
- return map[string]string{
- "A-Im": "A-IM",
- "Accept-Ch": "Accept-CH",
- "Alpn": "ALPN",
- "Amp-Cache-Transform": "AMP-Cache-Transform",
- "C-Pep": "C-PEP",
- "C-Pep-Info": "C-PEP-Info",
- "Cal-Managed-Id": "Cal-Managed-ID",
- "Caldav-Timezones": "CalDAV-Timezones",
- "Cdn-Cache-Control": "CDN-Cache-Control",
- "Cdn-Loop": "CDN-Loop",
- "Content-Id": "Content-ID",
- "Content-Md5": "Content-MD5",
- "Dasl": "DASL",
- "Dav": "DAV",
- "Differential-Id": "Differential-ID",
- "Dnt": "DNT",
- "Dpop": "DPoP",
- "Dpop-Nonce": "DPoP-Nonce",
- "Ediint-Features": "EDIINT-Features",
- "Etag": "ETag",
- "Expect-Ct": "Expect-CT",
- "Getprofile": "GetProfile",
- "Http2-Settings": "HTTP2-Settings",
- "Im": "IM",
- "Include-Referred-Token-Binding-Id": "Include-Referred-Token-Binding-ID",
- "Last-Event-Id": "Last-Event-ID",
- "Mime-Version": "MIME-Version",
- "Nel": "NEL",
- "Odata-Entityid": "OData-EntityId",
- "Odata-Isolation": "OData-Isolation",
- "Odata-Maxversion": "OData-MaxVersion",
- "Odata-Version": "OData-Version",
- "Optional-Www-Authenticate": "Optional-WWW-Authenticate",
- "Oscore": "OSCORE",
- "Oslc-Core-Version": "OSLC-Core-Version",
- "P3p": "P3P",
- "Pep": "PEP",
- "Pep-Info": "PEP-Info",
- "Pics-Label": "PICS-Label",
- "Profileobject": "ProfileObject",
- "Repeatability-Client-Id": "Repeatability-Client-ID",
- "Repeatability-Request-Id": "Repeatability-Request-ID",
- "Sec-Gpc": "Sec-GPC",
- "Sec-Websocket-Accept": "Sec-WebSocket-Accept",
- "Sec-Websocket-Extensions": "Sec-WebSocket-Extensions",
- "Sec-Websocket-Key": "Sec-WebSocket-Key",
- "Sec-Websocket-Protocol": "Sec-WebSocket-Protocol",
- "Sec-Websocket-Version": "Sec-WebSocket-Version",
- "Setprofile": "SetProfile",
- "Slug": "SLUG",
- "Soapaction": "SoapAction",
- "Status-Uri": "Status-URI",
- "Tcn": "TCN",
- "Te": "TE",
- "Ttl": "TTL",
- "Uri": "URI",
- "Www-Authenticate": "WWW-Authenticate",
- "X-Correlation-Id": "X-Correlation-ID",
- "X-Dns-Prefetch-Control": "X-DNS-Prefetch-Control",
- "X-Real-Ip": "X-Real-IP",
- "X-Request-Id": "X-Request-ID",
- "X-Ua-Compatible": "X-UA-Compatible",
- "X-Webkit-Csp": "X-WebKit-CSP",
- "X-Xss": "X-XSS",
- "X-Xss-Protection": "X-XSS-Protection",
- }
-}
diff --git a/vendor/github.com/lasiar/canonicalheader/literal_string.go b/vendor/github.com/lasiar/canonicalheader/literal_string.go
deleted file mode 100644
index 71cd5f397..000000000
--- a/vendor/github.com/lasiar/canonicalheader/literal_string.go
+++ /dev/null
@@ -1,80 +0,0 @@
-package canonicalheader
-
-import (
- "fmt"
- "go/ast"
- "go/token"
- "strconv"
- "unicode/utf8"
- "unsafe"
-
- "golang.org/x/tools/go/analysis"
-)
-
-type literalString struct {
- originalValue string
- quote byte
- pos, end token.Pos
-}
-
-func newLiteralString(basicList *ast.BasicLit) (literalString, error) {
- if basicList.Kind != token.STRING {
- return literalString{}, fmt.Errorf("%#v is not a string", basicList)
- }
-
- if len(basicList.Value) < 2 {
- return literalString{}, fmt.Errorf("%#v has a strange value length %q", basicList, basicList.Value)
- }
-
- quote := basicList.Value[0]
- switch quote {
- case '`', '"':
- default:
- return literalString{}, fmt.Errorf("%q is a strange quote", quote)
- }
-
- originalValue, err := strconv.Unquote(basicList.Value)
- if err != nil {
- return literalString{}, fmt.Errorf("unquote %q: %w", basicList.Value, err)
- }
-
- if !utf8.ValidString(originalValue) {
- return literalString{}, fmt.Errorf("%#v is not a valid utf8 string", basicList.Value)
- }
-
- return literalString{
- originalValue: originalValue,
- quote: quote,
- pos: basicList.Pos(),
- end: basicList.End(),
- }, nil
-}
-
-func (l literalString) diagnostic(canonicalHeader string) analysis.Diagnostic {
- newText := make([]byte, 0, len(canonicalHeader)+2)
- newText = append(newText, l.quote)
- newText = append(newText, unsafe.Slice(unsafe.StringData(canonicalHeader), len(canonicalHeader))...)
- newText = append(newText, l.quote)
-
- return analysis.Diagnostic{
- Pos: l.pos,
- End: l.end,
- Message: fmt.Sprintf("non-canonical header %q, instead use: %q", l.originalValue, canonicalHeader),
- SuggestedFixes: []analysis.SuggestedFix{
- {
- Message: fmt.Sprintf("should replace %q with %q", l.originalValue, canonicalHeader),
- TextEdits: []analysis.TextEdit{
- {
- Pos: l.pos,
- End: l.end,
- NewText: newText,
- },
- },
- },
- },
- }
-}
-
-func (l literalString) value() string {
- return l.originalValue
-}
diff --git a/vendor/github.com/lasiar/canonicalheader/makefile b/vendor/github.com/lasiar/canonicalheader/makefile
deleted file mode 100644
index a96cb628e..000000000
--- a/vendor/github.com/lasiar/canonicalheader/makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-.PHONY:
-
-test:
- go test -v -race ./...
-
-linter:
- golangci-lint -v run ./...
-
-generate:
- go run ./cmd/initialismer/*.go -target="mapping" > ./initialism.go
- go run ./cmd/initialismer/*.go -target="test" > ./testdata/src/initialism/initialism.go
- gofmt -w ./initialism.go ./testdata/src/initialism/initialism.go