Skip to content

API Reference

Complete API documentation for REROUTE.

Core Classes

  • RouteBase


    Base class for all file-based routes

  • Config


    Configuration system

  • Adapters


    Framework integration adapters

Decorators

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 engine
  • reroute.adapters - Framework adapters
  • reroute.cli - Command-line interface
  • reroute.decorators - Built-in decorators
  • reroute.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