chore(security,refactor): extract sanitization and improve code quality (#41)

* chore(security,refactor): extract sanitization and improve code quality

- [x] Extract sanitization functions to dedicated sanitization.go module
- [x] Add comprehensive golangci-lint v2 configuration with security rules
- [x] Replace interface{} with any type throughout codebase
- [x] Add admin API authentication security warning
- [x] Extract WebSocket and stats streaming constants
- [x] Add best-effort error handling comments for resource cleanup
- [x] Expand sensitive field patterns for improved PII redaction
- [x] Simplify safety checks and remove redundant nil validations
- [x] Improve test coverage for password field redaction patterns

* refactor: replace interface{} with any type alias

- [x] Replace all `map[string]interface{}` with `map[string]any`
- [x] Replace all `interface{}` with `any` in function signatures and type definitions
- [x] Update sync.Pool New function returns from `interface{}` to `any`
- [x] Add package documentation comments to 8 package files
- [x] Update type assertions and casts to work with `any` type
This commit is contained in:
2026-01-17 00:04:12 +00:00
committed by GitHub
parent caeae62236
commit 3aa83d4480
42 changed files with 815 additions and 618 deletions
+5 -5
View File
@@ -103,14 +103,14 @@ type parseGraphQLQueryResult struct {
var (
// Pool for request/response maps during unmarshaling
queryPool = sync.Pool{
New: func() interface{} {
return make(map[string]interface{}, 48)
New: func() any {
return make(map[string]any, 48)
},
}
// Pool for parse result objects
resultPool = sync.Pool{
New: func() interface{} {
New: func() any {
return &parseGraphQLQueryResult{}
},
}
@@ -146,7 +146,7 @@ func initGraphQLParsing() {
if cfg != nil && cfg.Logger != nil {
cfg.Logger.Debug(&libpack_logger.LogMessage{
Message: "GraphQL query cache initialized",
Pairs: map[string]interface{}{
Pairs: map[string]any{
"max_entries": maxQueryCacheSize,
"max_size_mb": 50,
},
@@ -244,7 +244,7 @@ func parseGraphQLQuery(c *fiber.Ctx) *parseGraphQLQueryResult {
res.activeEndpoint = cfg.Server.HostGraphQL
// Get a map from the pool for JSON unmarshaling
m := queryPool.Get().(map[string]interface{})
m := queryPool.Get().(map[string]any)
defer func() {
// Clear and return the map to the pool
for k := range m {