Receive and return the value of HTTP X-Request-ID header.
Project description
request-id-flask
Attach a unique identifier to every HTTP request in your WSGI or ASGI application.
request-id-flask
is implemented as a WSGI and ASGI middleware.
The package will do one of two things:
-
Read the
X-Request-ID
HTTP header from a client HTTP request and return the sameX-Request-ID
HTTP header in the server HTTP response and is stored in the WSGIenviron
. -
Or, when no
X-Request-ID
HTTP header is present in the client HTTP request, generate a new and uniquerequest_id
identifier (using uuid 4) which is stored in the WSGIenviron
and set as theX-Request-ID
HTTP header in the server HTTP responser.
Requirements
- Python 3.6 or above
Installation
You can install the request-id-flask package using pip:
pip install request-id-flask
However, recommended to add it to the requirements.txt
file instead, and install using: pip install -r requirements.txt
request-id-flask
Access the request_id
The REQUEST_ID
is stored in the request environ
dictionary and may be accessed from anywhere this is available in Flask.
Changelog
- Version 0.0.4 adds support for Quart.
- Version 0.0.3 adds support for the app factory pattern.
Flask Usage
from flask import (
Flask,
request
)
from request_id import RequestId
app = Flask(__name__)
RequestId(app)
@app.route('/')
def index():
request_id = request.environ.get('REQUEST_ID', '')
return str(request_id)
Quart Usage
from quart import (
Quart,
request
)
from request_id import RequestId
app = Quart(__name__)
RequestId(app)
@app.route('/')
async def index():
request_id = request.environ.get('REQUEST_ID', '')
return await str(request_id)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for request_id_flask-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49a6dc1e3fd93f3d0ce61f1983640d4635bb038818f2341366087c8094424885 |
|
MD5 | 794deafc09b66639ea44dbef726e6045 |
|
BLAKE2b-256 | 75f44c51c2f7fc9d3cb56ce6a353523b9d0722ec64f90b022c210a9487019091 |