API Reference Overview¶
Architecture
DjangoAPI Guard uses a modular core architecture. While the public API remains unchanged, the internal implementation is organized into specialized modules in djangoapi_guard/core/. See Core Architecture for details.
Core Components¶
Middleware & Configuration¶
- DjangoAPIGuard: The main middleware that handles all security features
- SecurityConfig: Configuration class for all security settings
- SecurityDecorator: Route-level security decorator system
Handler Components¶
- IPBanManager: Manages IP banning functionality
- IPInfoManager: Handles IP geolocation using IPInfo's database
- SusPatternsManager: Manages suspicious patterns for threat detection
- CloudManager: Handles cloud provider IP range detection
- RateLimitManager: Handles rate limiting functionality
- RedisManager: Handles Redis connections and atomic operations
- BehaviorTracker: Handles behavioral analysis and monitoring
- SecurityHeadersManager: Manages security headers
Utilities¶
- Utilities: Helper functions for logging and request analysis
Key Classes and Instances¶
# Core middleware and configuration
from djangoapi_guard.middleware import DjangoAPIGuard
from djangoapi_guard import SecurityConfig
# Security decorators
from djangoapi_guard import SecurityDecorator, RouteConfig
# Handler classes and their pre-initialized instances
from djangoapi_guard import CloudManager, cloud_handler
from djangoapi_guard import IPBanManager, ip_ban_manager
from djangoapi_guard import RateLimitManager, rate_limit_handler
from djangoapi_guard import RedisManager, redis_handler
from djangoapi_guard import SusPatternsManager, sus_patterns_handler
from djangoapi_guard import BehaviorTracker, BehaviorRule
# Special case - requires parameters
from djangoapi_guard import IPInfoManager