API Reference¶
Complete API documentation for REROUTE.
Core Classes¶
Decorators¶
-
rate_limit, cache, requires, validate, etc.
Quick Reference¶
RouteBase¶
from reroute import RouteBase
class MyRoute(RouteBase):
tag = "Custom Tag" # Optional Swagger tag
def get(self):
"""Handle GET requests"""
pass
def before_request(self):
"""Run before every request"""
return None
def after_request(self, response):
"""Run after successful request"""
return response
def on_error(self, error):
"""Handle errors"""
return {"error": str(error)}
Decorators¶
from reroute.decorators import rate_limit, cache
@rate_limit("5/min")
@cache(duration=60)
def my_endpoint(self):
pass
Note: All decorators (rate_limit, cache, requires, validate, timeout, log_requests) are fully implemented. See Decorators API for detailed documentation.
Config¶
from reroute import Config
class MyConfig(Config):
PORT = 8000
HOST = "0.0.0.0"
API_BASE_PATH = "/api/v1"
ENABLE_CORS = True
CORS_ALLOW_ORIGINS = ["*"]
Adapters¶
from reroute.adapters import FastAPIAdapter, FlaskAdapter
# FastAPI
adapter = FastAPIAdapter(fastapi_app=app, app_dir=path)
adapter.register_routes()
# Flask
adapter = FlaskAdapter(flask_app=app, app_dir=path)
adapter.register_routes()
Modules¶
reroute.core- Core routing enginereroute.adapters- Framework adaptersreroute.cli- Command-line interfacereroute.decorators- Built-in decoratorsreroute.config- Configuration system
Type Hints¶
REROUTE is fully typed and supports type checking with mypy:
from typing import Dict, Any
from reroute import RouteBase
class TypedRoute(RouteBase):
def get(self) -> Dict[str, Any]:
return {"status": "ok"}
Learn More¶
- RouteBase API - Route class methods and hooks
- Decorators API - All decorator options
- Config API - Configuration options
- Adapters API - Adapter interfaces