%global _empty_manifest_terminate_build 0
Name: python-starlette-context
Version: 0.3.6
Release: 1
Summary: Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.
License: MIT
URL: https://github.com/tomwojcik/starlette-context
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a8/21/aa5d3848fcb77f0e7c9f1844271826ff74d83fad9920ca7f8105e0dc02ee/starlette_context-0.3.6.tar.gz
BuildArch: noarch
Requires: python3-starlette
%description
Middleware for Starlette that allows you to store and access the context
data of a request. Can be used with logging so logs automatically use
request headers such as x-request-id or x-correlation-id.
Resources:
- **Source**: https://github.com/tomwojcik/starlette-context
- **Documentation**: https://starlette-context.readthedocs.io/
- **Changelog**:
https://starlette-context.readthedocs.io/en/latest/changelog.html
Installation
~~~~~~~~~~~~
$ pip install starlette-context
Requirements
~~~~~~~~~~~~
Should be working fine on 3.7+.
Official support starts at 3.8.
Dependencies
~~~~~~~~~~~~
- ``starlette``
Example
~~~~~~~
import uvicorn
from starlette.applications import Starlette
from starlette.middleware import Middleware
from starlette.requests import Request
from starlette.responses import JSONResponse
from starlette_context import context, plugins
from starlette_context.middleware import RawContextMiddleware
middleware = [
Middleware(
RawContextMiddleware,
plugins=(
plugins.RequestIdPlugin(),
plugins.CorrelationIdPlugin()
)
)
]
app = Starlette(middleware=middleware)
@app.route("/")
async def index(request: Request):
return JSONResponse(context.data)
uvicorn.run(app, host="0.0.0.0")
In this example the response contains a json with
{
"X-Correlation-ID":"5ca2f0b43115461bad07ccae5976a990",
"X-Request-ID":"21f8d52208ec44948d152dc49a713fdd"
}
Context can be updated and accessed at anytime if it’s created in the
middleware.
Sponsorship
~~~~~~~~~~~
A huge thank you to `Adverity `__ for
sponsoring the development of this OSS library in 2022.
Contribution
~~~~~~~~~~~~
See the guide on `read the
docs `__.
%package -n python3-starlette-context
Summary: Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.
Provides: python-starlette-context
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-starlette-context
Middleware for Starlette that allows you to store and access the context
data of a request. Can be used with logging so logs automatically use
request headers such as x-request-id or x-correlation-id.
Resources:
- **Source**: https://github.com/tomwojcik/starlette-context
- **Documentation**: https://starlette-context.readthedocs.io/
- **Changelog**:
https://starlette-context.readthedocs.io/en/latest/changelog.html
Installation
~~~~~~~~~~~~
$ pip install starlette-context
Requirements
~~~~~~~~~~~~
Should be working fine on 3.7+.
Official support starts at 3.8.
Dependencies
~~~~~~~~~~~~
- ``starlette``
Example
~~~~~~~
import uvicorn
from starlette.applications import Starlette
from starlette.middleware import Middleware
from starlette.requests import Request
from starlette.responses import JSONResponse
from starlette_context import context, plugins
from starlette_context.middleware import RawContextMiddleware
middleware = [
Middleware(
RawContextMiddleware,
plugins=(
plugins.RequestIdPlugin(),
plugins.CorrelationIdPlugin()
)
)
]
app = Starlette(middleware=middleware)
@app.route("/")
async def index(request: Request):
return JSONResponse(context.data)
uvicorn.run(app, host="0.0.0.0")
In this example the response contains a json with
{
"X-Correlation-ID":"5ca2f0b43115461bad07ccae5976a990",
"X-Request-ID":"21f8d52208ec44948d152dc49a713fdd"
}
Context can be updated and accessed at anytime if it’s created in the
middleware.
Sponsorship
~~~~~~~~~~~
A huge thank you to `Adverity `__ for
sponsoring the development of this OSS library in 2022.
Contribution
~~~~~~~~~~~~
See the guide on `read the
docs `__.
%package help
Summary: Development documents and examples for starlette-context
Provides: python3-starlette-context-doc
%description help
Middleware for Starlette that allows you to store and access the context
data of a request. Can be used with logging so logs automatically use
request headers such as x-request-id or x-correlation-id.
Resources:
- **Source**: https://github.com/tomwojcik/starlette-context
- **Documentation**: https://starlette-context.readthedocs.io/
- **Changelog**:
https://starlette-context.readthedocs.io/en/latest/changelog.html
Installation
~~~~~~~~~~~~
$ pip install starlette-context
Requirements
~~~~~~~~~~~~
Should be working fine on 3.7+.
Official support starts at 3.8.
Dependencies
~~~~~~~~~~~~
- ``starlette``
Example
~~~~~~~
import uvicorn
from starlette.applications import Starlette
from starlette.middleware import Middleware
from starlette.requests import Request
from starlette.responses import JSONResponse
from starlette_context import context, plugins
from starlette_context.middleware import RawContextMiddleware
middleware = [
Middleware(
RawContextMiddleware,
plugins=(
plugins.RequestIdPlugin(),
plugins.CorrelationIdPlugin()
)
)
]
app = Starlette(middleware=middleware)
@app.route("/")
async def index(request: Request):
return JSONResponse(context.data)
uvicorn.run(app, host="0.0.0.0")
In this example the response contains a json with
{
"X-Correlation-ID":"5ca2f0b43115461bad07ccae5976a990",
"X-Request-ID":"21f8d52208ec44948d152dc49a713fdd"
}
Context can be updated and accessed at anytime if it’s created in the
middleware.
Sponsorship
~~~~~~~~~~~
A huge thank you to `Adverity `__ for
sponsoring the development of this OSS library in 2022.
Contribution
~~~~~~~~~~~~
See the guide on `read the
docs `__.
%prep
%autosetup -n starlette-context-0.3.6
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-starlette-context -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue Apr 11 2023 Python_Bot - 0.3.6-1
- Package Spec generated