Skip to main content

Add API to introspect routes for your Pyramid web app

Project description

tomb_reflect

https://img.shields.io/pypi/v/tomb_reflect.svg https://img.shields.io/travis/tomborine/tomb_reflect.svg https://coveralls.io/repos/tomborine/tomb_reflect/badge.png?branch=master

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tomb_reflect-0.0.1.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file tomb_reflect-0.0.1.tar.gz.

File metadata

File hashes

Hashes for tomb_reflect-0.0.1.tar.gz
Algorithm Hash digest
SHA256 829bb8e1accd078618c1c42917c59c607ad379fad75acc406ea35d137efb04bf
MD5 4129ae33d870400fec212b6ba67dec25
BLAKE2b-256 ee02cb46ceeb2f5fd333ca61cd2059a7096baf3618a87c75c1eb17808eed6689

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page