ErrorsRest plugin for bottle
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
.gitignore
MANIFEST.in
README.md
bottle_errorsrest.py
requirements.txt
setup.py

README.md

Bottle Errors Rest

bottle_errorsrest plugin for bottle

All errors are now returned bottle json format.

If HTTPError receives a string becomes {'message': string}

installation

Via pip: pip install bottle_errorsrest

Or clone: git clone https://github.com/agalera/bottle_errorsrest.git

example server:

from bottle import get, install, run, HTTPError
from bottle_errorsrest import ErrorsRestPlugin


@get("/")
def example():
    # {'message': 'oh no!'}
    raise HTTPError(500, "oh no!")

@get("/2")
def example2():
    # {'other_Example': 'oh no!'}
    raise HTTPError(500, {'other_Example': 'oh no!'})


install(ErrorsRestPlugin())

run(host="0.0.0.0", port="9988")

Test:

curl http://localhost:9988/ --head; curl http://localhost:9988/
HTTP/1.0 500 Internal Server Error
Date: Tue, 27 Sep 2016 11:16:41 GMT
Server: WSGIServer/0.2 CPython/3.4.3
Content-Type: application/json
Content-Length: 20

{"message": "oh no!"}

curl http://localhost:9988/2 --head; curl http://localhost:9988/2
HTTP/1.0 500 Internal Server Error
Date: Tue, 27 Sep 2016 11:16:41 GMT
Server: WSGIServer/0.2 CPython/3.4.3
Content-Type: application/json
Content-Length: 20

{"other_Example": "oh no!"}

curl http://localhost:9988/not_found --head; curl http://localhost:9988/not_found
HTTP/1.0 404 Not Found
Date: Tue, 27 Sep 2016 11:11:39 GMT
Server: WSGIServer/0.2 CPython/3.4.3
Content-Length: 38
Content-Type: application/json

{"message": "Not found: '/not_found'"}