Documentation
¶
Index ¶
- Constants
- func ErrorHandler(log *logger.Logger) gin.HandlerFunc
- func GetRequestID(c *gin.Context) string
- func MetricsMiddleware() gin.HandlerFunc
- func RecordBlockchainOperation(operation string, status string)
- func RecordDatabaseOperation(operation string, repository string, status string, err error)
- func RecordFunctionExecution(functionID string, status string, memoryUsageBytes int64)
- func RecordSecretOperation(operation string, status string)
- func RecordTEEOperation(operation string, status string)
- func RecoveryHandler(log *logger.Logger) gin.HandlerFunc
- func RequestID() gin.HandlerFunc
- func TrackBlockchainOperation(operation string) *metrics.Timer
- func TrackDatabaseOperation(operation string, repository string) *metrics.Timer
- func TrackFunctionExecution(functionID string) *metrics.Timer
- func TrackSecretOperation(operation string) *metrics.Timer
- func TrackTEEOperation(provider string) *metrics.Timer
- type DynamicRateLimiter
- type RateLimiter
- type TokenBucket
Constants ¶
const ( // RequestIDHeader is the header key for request ID RequestIDHeader = "X-Request-ID" // RequestIDKey is the context key for request ID RequestIDKey = "request_id" )
Variables ¶
This section is empty.
Functions ¶
func ErrorHandler ¶
func ErrorHandler(log *logger.Logger) gin.HandlerFunc
ErrorHandler middleware for handling errors
func GetRequestID ¶
GetRequestID gets the request ID from context
func MetricsMiddleware ¶
func MetricsMiddleware() gin.HandlerFunc
MetricsMiddleware collects metrics for all HTTP requests
func RecordBlockchainOperation ¶
RecordBlockchainOperation records a blockchain operation
func RecordDatabaseOperation ¶
RecordDatabaseOperation records a database operation
func RecordFunctionExecution ¶
RecordFunctionExecution records a function execution
func RecordSecretOperation ¶
RecordSecretOperation records a secret operation
func RecordTEEOperation ¶
RecordTEEOperation records a TEE operation
func RecoveryHandler ¶
func RecoveryHandler(log *logger.Logger) gin.HandlerFunc
RecoveryHandler middleware to recover from panics
func RequestID ¶
func RequestID() gin.HandlerFunc
RequestID middleware adds a unique request ID to each request
func TrackBlockchainOperation ¶
TrackBlockchainOperation creates a timer for tracking blockchain operations
func TrackDatabaseOperation ¶
TrackDatabaseOperation creates a timer to track database operations
func TrackFunctionExecution ¶
TrackFunctionExecution creates a timer for tracking function execution
func TrackSecretOperation ¶
TrackSecretOperation creates a timer for tracking secret operations
func TrackTEEOperation ¶
TrackTEEOperation creates a timer for tracking TEE operations
Types ¶
type DynamicRateLimiter ¶
type DynamicRateLimiter struct {
// contains filtered or unexported fields
}
DynamicRateLimiter provides different rate limits based on the client
func NewDynamicRateLimiter ¶
func NewDynamicRateLimiter(defaultRate, authRate rate.Limit, defaultBurst, authBurst int) *DynamicRateLimiter
NewDynamicRateLimiter creates a new dynamic rate limiter middleware
func (*DynamicRateLimiter) Middleware ¶
func (rl *DynamicRateLimiter) Middleware() gin.HandlerFunc
Middleware returns a Gin middleware function for dynamic rate limiting
type RateLimiter ¶
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter implements a rate limiting middleware
func NewRateLimiter ¶
func NewRateLimiter(r rate.Limit, burst int) *RateLimiter
NewRateLimiter creates a new rate limiter middleware
func (*RateLimiter) Middleware ¶
func (rl *RateLimiter) Middleware() gin.HandlerFunc
Middleware returns a Gin middleware function for rate limiting
type TokenBucket ¶
type TokenBucket struct {
// contains filtered or unexported fields
}
TokenBucket represents a rate limiter for a specific user