Settings¶
Basic application configuration.
Constructor Parameters¶
from fasthttp import FastHTTP
app = FastHTTP(
debug=False, # Debug mode
http2=False, # Use HTTP/2
proxy=None, # Proxy server
security=True, # Enable security
lifespan=None, # Lifespan context manager
middleware=[], # Middleware list
raise_for_status=False, # Raise on 4xx/5xx
get_request={}, # Default GET settings
post_request={}, # Default POST settings
put_request={}, # Default PUT settings
patch_request={}, # Default PATCH settings
delete_request={} # Default DELETE settings
)
Parameter Table¶
| Parameter | Type | Default | Description |
|---|---|---|---|
debug |
bool |
False |
Enable verbose logging |
http2 |
bool |
False |
Use HTTP/2 |
proxy |
str |
None |
Proxy server URL |
security |
bool |
True |
Enable security features |
lifespan |
Callable |
None |
Startup/shutdown handler |
middleware |
list |
[] |
Middleware instances |
raise_for_status |
bool |
False |
Raise FastHTTPBadStatusError on 4xx/5xx for all routes |
get_request |
dict |
{} |
Default GET settings |
post_request |
dict |
{} |
Default POST settings |
put_request |
dict |
{} |
Default PUT settings |
patch_request |
dict |
{} |
Default PATCH settings |
delete_request |
dict |
{} |
Default DELETE settings |
Minimal Configuration¶
Full Configuration¶
from fasthttp import FastHTTP
from fasthttp.middleware import BaseMiddleware
class MyMiddleware(BaseMiddleware):
pass
app = FastHTTP(
debug=True,
http2=False,
proxy="http://proxy.example.com:8080",
security=True,
middleware=[MyMiddleware()],
get_request={
"headers": {"User-Agent": "MyApp/1.0"},
"timeout": 30.0,
},
post_request={
"headers": {"Content-Type": "application/json"},
"timeout": 60.0,
},
)
Per-Method Settings¶
Each HTTP method can have its own defaults:
app = FastHTTP(
get_request={
"headers": {"Accept": "application/json"},
"timeout": 30.0,
},
post_request={
"headers": {"Content-Type": "application/json"},
"timeout": 60.0,
},
put_request={
"headers": {"Content-Type": "application/json"},
"timeout": 60.0,
},
delete_request={
"headers": {"Accept": "application/json"},
"timeout": 30.0,
},
)