Flask Snippets

Snippets are unofficial and unmaintained.

This is an archived view of user-submitted snippets. Despite being hosted on the Flask site, they are not official. No Flask maintainer has curated or checked the snippets for security, correctness, or design.

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.