Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Trakora/production-go-api-template
/ functions
Functions
92 in github.com/Trakora/production-go-api-template
⨍
Functions
92
◇
Types & classes
25
↓ 29 callers
Function
RespondWithError
( r *http.Request, w http.ResponseWriter, code int, msg string, err error, )
pkg/router/respond.go:20
↓ 14 callers
Method
Errorf
(format string, v ...any)
pkg/logger/logger.go:46
↓ 14 callers
Method
Infof
(format string, v ...any)
pkg/logger/logger.go:38
↓ 8 callers
Method
Header
()
api/router/middleware/requestlog.go:178
↓ 8 callers
Method
Warnf
(format string, v ...any)
pkg/logger/logger.go:42
↓ 7 callers
Function
RespondWithJSON
( r *http.Request, w http.ResponseWriter, code int, payload any, )
pkg/router/respond.go:42
↓ 6 callers
Method
recordFailure
(ipStr string)
api/router/middleware/authentication.go:213
↓ 5 callers
Method
WithRequestID
(ctx context.Context)
pkg/logger/logger.go:21
↓ 5 callers
Method
WriteHeader
(statusCode int)
api/router/middleware/requestlog.go:182
↓ 5 callers
Function
serviceFromRequest
(db *gorm.DB, r *http.Request)
api/resource/item/handler.go:162
↓ 4 callers
Function
ExtractAndValidateContext
(ctx context.Context, key any)
pkg/validator/context_validator.go:8
↓ 3 callers
Method
Validate
()
pkg/validator/json_validator.go:9
↓ 2 callers
Method
Create
(ctx context.Context, item Item)
api/resource/item/repository.go:12
↓ 2 callers
Function
DecodeAndValidate
(r *http.Request, v T)
pkg/validator/json_validator.go:12
↓ 2 callers
Method
Delete
(ctx context.Context, id int)
api/resource/item/repository.go:16
↓ 2 callers
Method
Write
(p []byte)
api/router/middleware/requestlog.go:190
↓ 2 callers
Function
generate_secure_string
(num_bytes: int)
generate_tokens.py:7
↓ 2 callers
Function
truncateBody
(body []byte)
api/router/middleware/requestlog.go:89
↓ 1 callers
Function
AutoMigrateAll
(db *gorm.DB)
api/resource/migrations.go:9
↓ 1 callers
Function
CORS
(allowedOrigins []string)
api/router/middleware/cors.go:7
↓ 1 callers
Method
CreateItem
(ctx context.Context, req CreateItemRequest)
api/resource/item/service.go:25
↓ 1 callers
Function
CreateItemHandler
(db *gorm.DB, w http.ResponseWriter, r *http.Request)
api/resource/item/handler.go:17
↓ 1 callers
Function
CreateStack
(xs ...Middleware)
api/router/middleware/middlewares.go:10
↓ 1 callers
Method
DeleteItem
(ctx context.Context, id int)
api/resource/item/service.go:107
↓ 1 callers
Function
DeleteItemHandler
(db *gorm.DB, w http.ResponseWriter, r *http.Request)
api/resource/item/handler.go:130
↓ 1 callers
Method
Fatalf
(format string, v ...any)
pkg/logger/logger.go:50
↓ 1 callers
Method
GetAll
(ctx context.Context)
api/resource/item/repository.go:14
↓ 1 callers
Method
GetAllItems
(ctx context.Context)
api/resource/item/service.go:66
↓ 1 callers
Function
GetAllItemsHandler
(db *gorm.DB, w http.ResponseWriter, r *http.Request)
api/resource/item/handler.go:71
↓ 1 callers
Method
GetByID
(ctx context.Context, id int)
api/resource/item/repository.go:13
↓ 1 callers
Method
GetItem
(ctx context.Context, id int)
api/resource/item/service.go:52
↓ 1 callers
Function
GetItemHandler
(db *gorm.DB, w http.ResponseWriter, r *http.Request)
api/resource/item/handler.go:39
↓ 1 callers
Function
GetRequestID
(ctx context.Context)
pkg/contextkeys/helpers.go:7
↓ 1 callers
Function
InjectDeps
(cfg *config.Conf, log *logger.Logger)
api/router/middleware/inject_deps.go:11
↓ 1 callers
Method
Middleware
()
api/router/middleware/authentication.go:70
↓ 1 callers
Function
Mount
(mux *http.ServeMux, prefix string, handler http.Handler)
pkg/router/mount.go:8
↓ 1 callers
Function
New
()
config/config.go:52
↓ 1 callers
Function
NewAuthenticator
(authCfg config.ConfAuth, secCfg config.ConfSecurity, log *logger.Logger)
api/router/middleware/authentication.go:51
↓ 1 callers
Function
NewHealthHandler
()
api/resource/health/handler.go:15
↓ 1 callers
Function
NewItemHandler
(db *gorm.DB)
api/router/item_router.go:14
↓ 1 callers
Function
NewSQLiteItemRepo
(db *gorm.DB)
api/resource/item/repository.go:23
↓ 1 callers
Function
NewService
(cfg *config.Conf, db *gorm.DB, log *logger.Logger)
api/resource/item/service.go:17
↓ 1 callers
Method
RegisterRoutes
(mux *http.ServeMux)
api/router/item_router.go:18
↓ 1 callers
Function
RequestLog
(l *logger.Logger)
api/router/middleware/requestlog.go:43
↓ 1 callers
Function
SetupItemRouter
(db *gorm.DB)
api/router/item_router.go:47
↓ 1 callers
Function
SetupRouter
(db *gorm.DB)
api/router/router.go:11
↓ 1 callers
Method
Update
(ctx context.Context, id int, item Item)
api/resource/item/repository.go:15
↓ 1 callers
Method
UpdateItem
(ctx context.Context, id int, req UpdateItemRequest)
api/resource/item/service.go:80
↓ 1 callers
Function
UpdateItemHandler
(db *gorm.DB, w http.ResponseWriter, r *http.Request)
api/resource/item/handler.go:92
↓ 1 callers
Method
blockSubnet
(ipStr string)
api/router/middleware/authentication.go:246
↓ 1 callers
Method
cleanupLoop
()
api/router/middleware/authentication.go:281
↓ 1 callers
Function
clientIP
(r *http.Request)
api/router/middleware/authentication.go:176
↓ 1 callers
Function
entryFields
(le *logEntry)
api/router/middleware/requestlog.go:146
↓ 1 callers
Method
extractBearerToken
(w http.ResponseWriter, r *http.Request, ip string)
api/router/middleware/authentication.go:118
↓ 1 callers
Function
extractClientIP
(r *http.Request)
api/router/middleware/requestlog.go:166
↓ 1 callers
Function
finalizeEntry
(le *logEntry, stats *responseStats)
api/router/middleware/requestlog.go:130
↓ 1 callers
Function
generateRequestID
()
api/router/middleware/request_id.go:32
↓ 1 callers
Function
getRequestIDFromContext
(r *http.Request)
api/router/middleware/requestlog.go:111
↓ 1 callers
Function
getServerIP
(r *http.Request)
api/router/middleware/requestlog.go:120
↓ 1 callers
Method
getSlowdown
(ipStr string)
api/router/middleware/authentication.go:272
↓ 1 callers
Method
handleBlockedIP
(r *http.Request, w http.ResponseWriter, ip string)
api/router/middleware/authentication.go:103
↓ 1 callers
Method
handleSignature
(w http.ResponseWriter, r *http.Request, ip, token string)
api/router/middleware/authentication.go:128
↓ 1 callers
Method
handleSlowdown
(ip string)
api/router/middleware/authentication.go:112
↓ 1 callers
Method
isBlocked
(ipStr string)
api/router/middleware/authentication.go:188
↓ 1 callers
Function
main
()
generate_tokens.py:13
↓ 1 callers
Function
migrate
(db *gorm.DB, l *logger.Logger)
cmd/main.go:108
↓ 1 callers
Function
newLogEntry
(r *http.Request, header map[string][]string, body string, start time.Time)
api/router/middleware/requestlog.go:96
↓ 1 callers
Function
openDatabase
(path string, l *logger.Logger, gl gormlogger.LogLevel)
cmd/main.go:98
↓ 1 callers
Function
readAndRestoreBody
(r *http.Request, l *logger.Logger)
api/router/middleware/requestlog.go:65
↓ 1 callers
Method
resetIP
(ipStr string)
api/router/middleware/authentication.go:263
↓ 1 callers
Function
sanitizeHeaders
(header http.Header)
api/router/middleware/requestlog.go:76
↓ 1 callers
Function
validateHMAC
(message, signature, secret string)
api/router/middleware/authentication.go:165
Method
CheckHandler
(w http.ResponseWriter, r *http.Request)
api/resource/health/handler.go:23
Function
ContentTypeJSON
(next http.Handler)
api/router/middleware/content_type.go:13
Method
Create
(ctx context.Context, item Item)
api/resource/item/repository.go:27
Method
CreateItemHandler
(w http.ResponseWriter, r *http.Request)
api/router/item_router.go:26
Method
Debugf
(format string, v ...any)
pkg/logger/logger.go:34
Method
Delete
(ctx context.Context, id int)
api/resource/item/repository.go:79
Method
DeleteItemHandler
(w http.ResponseWriter, r *http.Request)
api/router/item_router.go:42
Method
GetAll
(ctx context.Context)
api/resource/item/repository.go:50
Method
GetAllItemsHandler
(w http.ResponseWriter, r *http.Request)
api/router/item_router.go:30
Method
GetByID
(ctx context.Context, id int)
api/resource/item/repository.go:38
Method
GetItemHandler
(w http.ResponseWriter, r *http.Request)
api/router/item_router.go:34
Function
HealthzHandler
(w http.ResponseWriter, r *http.Request)
api/resource/health/handler.go:19
Function
New
(level zerolog.Level)
pkg/logger/logger.go:15
Function
RequestID
(next http.Handler)
api/router/middleware/request_id.go:16
Method
Tracef
(format string, v ...any)
pkg/logger/logger.go:30
Method
Update
(ctx context.Context, id int, updatedItem Item)
api/resource/item/repository.go:59
Method
UpdateItemHandler
(w http.ResponseWriter, r *http.Request)
api/router/item_router.go:38
Method
Validate
()
api/resource/item/model.go:42
Method
Validate
()
api/resource/item/model.go:64
Function
main
()
cmd/main.go:24