Middleware Signature
Built-in Middleware
Logger
Logger
Request/response logging middleware.Output:Format Variables:
Logger()
LoggerWithConfig(config)
${time}- Request timestamp${method}- HTTP method${path}- Request path${status}- Response status code${latency}- Request duration${ip}- Client IP address${user_agent}- User-Agent header${error}- Error message (if any)
Recover
Recover
RequestID
RequestID
CORS
CORS
Timeout
Timeout
Request timeout middleware.If the handler doesn’t complete within the timeout:Example with context:
Timeout(duration)
BasicAuth
BasicAuth
Compress
Compress
Response compression middleware using gzip.Automatically compresses responses when:
Compress()
- Client sends
Accept-Encoding: gzip - Response is larger than 1KB
- Content-Type is compressible (text, JSON, etc.)
Compression adds CPU overhead. For high-traffic APIs, consider using a reverse proxy (nginx, Cloudflare) for compression instead.
RateLimiter
RateLimiter
Rate limiting middleware.When rate limit is exceeded:Response headers:Custom key function:
RateLimiter(max, window)
SecureHeaders
SecureHeaders
Add security headers to responses.Headers added:
SecureHeaders()
| Header | Value |
|---|---|
X-Content-Type-Options | nosniff |
X-Frame-Options | DENY |
X-XSS-Protection | 1; mode=block |
Referrer-Policy | strict-origin-when-cross-origin |
Content-Security-Policy | default-src 'self' |