Context Proxies
BustAPI relies on context locals to make global variables like request thread-safe.
These objects look like global variables but actually point to data specific to the current
request/thread.
request
The Request object for the current request.
- method (
str): HTTP method (GET, POST, etc). - path (
str): The path of the request. - args (
MultiDict): Parsed query parameters. - form (
MultiDict): Parsed form data. - headers (
Headers): Incoming request headers. - get_json(force=False, silent=False): Parses body as JSON.
g
A general purpose object for storing data during a single request context.
Usage Span
Data stored in g is lost when the request ends. It is heavily used in
before_request handlers to store user sessions or database connections.
from bustapi import g
@app.before_request
def load_user():
g.user = get_user()
@app.route("/")
def index():
return f"Hello {g.user.name}"
session
A dict-like object that stores data across requests using signed cookies.
from bustapi import session
# Setting a value
session['username'] = 'admin'
# Getting a value
user = session.get('username')
Secret Key
To use sessions, you must set app.secret_key to a secure random string.
BustAPI