Skip to main content

The easiest way to use cors on bottle

Project description

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

Project details


Download files

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

Files for bottle-cors-plugin, version 0.1.9
Filename, size File type Python version Upload date Hashes
Filename, size bottle_cors_plugin-0.1.9-py3-none-any.whl (5.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size bottle-cors-plugin-0.1.9.tar.gz (3.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page