chore(lint): настроить golangci-lint v2, gofumpt и форматирование в make
- .golangci.yml: набор линтеров под требования §14 (gosec, gocritic, sloglint, noctx, revive, depguard для запрета циклических зависимостей internal/*) - gofumpt вынесен из formatters golangci-lint v2.13 (сообщал о расхождениях, которые сам же не устранял) и применяется отдельным инструментом - make fmt/go-lint: проверка gofumpt + golangci-lint fmt --diff - scripts/gitleaks-scan.sh: поддержка gitleaks 8.19+ (dir) и старых версий (detect) - исправлены замечания линтеров: обработка ошибок Close, контекст в логах, NewRequestWithContext в тестах, комментарий к blank-import драйвера SQLite
This commit is contained in:
@@ -2,7 +2,6 @@ package httpx
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
)
|
||||
@@ -29,6 +28,8 @@ type errorEnvelope struct {
|
||||
|
||||
func (e Error) HTTPStatus() int {
|
||||
switch e.Code {
|
||||
case CodeInternalError:
|
||||
return http.StatusInternalServerError
|
||||
case CodeNotFound:
|
||||
return http.StatusNotFound
|
||||
case CodeBadRequest:
|
||||
@@ -54,7 +55,7 @@ func WriteJSON(w http.ResponseWriter, status int, body any) {
|
||||
return
|
||||
}
|
||||
if err := json.NewEncoder(w).Encode(body); err != nil {
|
||||
slog.Error("write json response", "error", err)
|
||||
slog.Error("write json response", slog.Any("error", err))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,5 +68,3 @@ func WriteErrorStatus(w http.ResponseWriter, status int, code ErrorCode, message
|
||||
}
|
||||
|
||||
func StatusForCode(code ErrorCode) int { return NewError(code, "").HTTPStatus() }
|
||||
|
||||
var errBodyTooLarge = errors.New("request body too large")
|
||||
|
||||
Reference in New Issue
Block a user