Flask Snippets

JSONP decorator

Posted by zachwill on 2011-11-23 @ 20:37 and filed in Decorators

Taken from:  https://gist.github.com/1094140

from functools import wraps
from flask import request, current_app

def jsonp(func):
    """Wraps JSONified output for JSONP requests."""
    def decorated_function(*args, **kwargs):
        callback = request.args.get('callback', False)
        if callback:
            data = str(func(*args, **kwargs).data)
            content = str(callback) + '(' + data + ')'
            mimetype = 'application/javascript'
            return current_app.response_class(content, mimetype=mimetype)
            return func(*args, **kwargs)
    return decorated_function

This snippet by zachwill can be used freely for anything you like. Consider it public domain.