Add API to introspect routes for your Pyramid web app
Project description
tomb_reflect
Intro
Easily make your Pyramid-powered Web API introspectable.
All it takes is:
config.include('tomb_reflect', route_prefix='/api_info')
# You could pass options to tomb_reflect_add_views to add auth, etc.
config.tomb_reflect_add_views()
With this, your app now responds to 2 new URLs.
The first URL, /api_info/routes, returns a list of routes:
{
"hello": {
"route_pattern": "/hello"
},
"hello_name": {
"route_pattern": "/hello_name/{name}"
},
"tomb_reflect.routes#index": {
"route_pattern": "api_info/routes"
},
"tomb_reflect.routes#show": {
"route_pattern": "api_info/routes/{route_name}"
}
}
The second URL, /api_info/routes/{route_name}, returns detailed info for a specific route:
{
"route_name": "hello",
"route_pattern": "/hello",
"view": "inventorysvc.views.hello.hello"
}
Configuration
If you want the URLs to be under a different root path, change the route_prefix in your config.include call:
config.include('tomb_reflect', route_prefix='/super/secret/place')
If you want the URLs to only be visible with certain permissions, require special authorization, etc., you can pass options to config.tomb_reflect_add_views:
# You can pass options to tomb_reflect_add_views to add auth, etc.
config.tomb_reflect_add_views(
decorator=SomeCustomDecorator,
permission='reflect')
Similar
pyramid-describe - Only works for apps that use pyramid-controller dispatch though
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
File details
Details for the file tomb_reflect-0.0.1.tar.gz
.
File metadata
- Download URL: tomb_reflect-0.0.1.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 829bb8e1accd078618c1c42917c59c607ad379fad75acc406ea35d137efb04bf |
|
MD5 | 4129ae33d870400fec212b6ba67dec25 |
|
BLAKE2b-256 | ee02cb46ceeb2f5fd333ca61cd2059a7096baf3618a87c75c1eb17808eed6689 |