Middleware Generator
The Middleware Generator creates middleware components that can be used to process HTTP requests and responses in your Azu application.
Usage
azu generate middleware MIDDLEWARE_NAME [OPTIONS]Description
Middleware in Azu applications provides a way to process HTTP requests and responses before they reach your endpoints or after they leave them. Common uses include authentication, logging, CORS handling, and request/response transformation.
Options
MIDDLEWARE_NAME- Name of the middleware to generate (required)-d, --description DESCRIPTION- Description of the middleware-t, --template TEMPLATE- Template to use (default: basic)-f, --force- Overwrite existing files-h, --help- Show help message
Examples
Generate a basic middleware
This creates:
src/middleware/auth_middleware.cr- The middleware classspec/middleware/auth_middleware_spec.cr- Test file
Generate middleware with description
Generate specific middleware types
Generated Files
Middleware Class (src/middleware/MIDDLEWARE_NAME.cr)
src/middleware/MIDDLEWARE_NAME.cr)Test File (spec/middleware/MIDDLEWARE_NAME_spec.cr)
spec/middleware/MIDDLEWARE_NAME_spec.cr)Middleware Patterns
Basic Middleware Pattern
Authentication Middleware
CORS Middleware
Rate Limiting Middleware
Using Middleware
Global Middleware
Register middleware globally in your application:
Route-Specific Middleware
Apply middleware to specific routes:
Conditional Middleware
Apply middleware conditionally:
Best Practices
1. Keep Middleware Focused
Each middleware should have a single responsibility:
2. Handle Errors Gracefully
3. Use Configuration
Make middleware configurable:
4. Performance Considerations
Testing Middleware
Unit Testing
Integration Testing
Common Middleware Types
1. Authentication & Authorization
2. Request/Response Transformation
3. Monitoring & Metrics
Related Commands
azu generate endpoint- Generate API endpointsazu generate service- Generate business logic servicesazu generate contract- Generate validation contractsazu generate model- Generate data models
Templates
The middleware generator supports different templates:
basic- Simple middleware with basic structureauth- Authentication middleware templatecors- CORS handling middlewarelogging- Request/response logging middlewarerate_limit- Rate limiting middleware
To use a specific template:
Last updated