The easiest way to implement cors on your bottle py web application
Installing the plugin
pip install bottle-cors-plugin
after this on your bottle app you need to import cors_plugin and install for example.
# -*- coding: utf-8 -*-
from bottle import app, response, route, run
from bottle_cors_plugin import cors_plugin
@route('/', method='GET')
def landing():
response.content_type = 'application/json'
return {'status': 'Works'}
#Confugure the server
app = app()
app.install(cors_plugin('*'))
if name == "__main__":
run(host='localhost', port=7000)
On the cors_plugin function you can send a simple string or array of origins this variable will set globaly on the plugin so you just set-it one time to add * origins just don’t put anything on the function
cors_plugin()
This will return the * origins
cors_plugin('https://google.com')
with just google.com as and origin or
cors_plugin(['https://google.com', 'http://google.com'])
for multiple origins
Aborts
for normal abort errors you need to import the abort of the cors_plugin like this
from bottle_cors_plugin import abort
@route('/', method='GET')
def landing():
response.content_type = 'application/json'
abort(500, 'Hola')
return {'status': 'Works'}
It works with all errors, and for custom error handler just import the cors_headers to apply on the function example like this
# -*- coding: utf-8 -*-
from import_env import os
from bottle import error, response
from bottle_cors_plugin import cors_headers
error_log = error
for status_code in range(200, 600):
@error(status_code)
def errorCustom(error_log):
cors_headers()
error_log.content_type = 'application/json'
return error_log.body
Release files for bottle-cors-plugin 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bottle-cors-plugin-0.1.9.tar.gz | 3.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bottle_cors_plugin-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.0 kB
Release files / bottle-cors-plugin-0.1.9.tar.gz
| Download URL | bottle-cors-plugin-0.1.9.tar.gz |
|---|---|
| Size | 3.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22e5d247700bf9c56caf9aa14fda5534efa00c2d9c1c3e80bc479acd66a907d4
|
|
BLAKE2b-256 checksum How to use checksums |
194bf410b7a96a08cb835035532ebd40ac9235897b08cfd28581267df55a8397
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0
|
Release files / bottle_cors_plugin-0.1.9-py3-none-any.whl
| Download URL | bottle_cors_plugin-0.1.9-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3056ea85efa655585748ec4c56b3d2480e715649e1e015da8f1287bb1b62fbf6
|
|
BLAKE2b-256 checksum How to use checksums |
2d8784047e03b27e2727a0951d55a68606f227132b5796c07258722f97959881
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0
|