Plack::Middleware::JSONP::Headers - Wraps JSON response with HTTP headers in JSONP
version 0.11
enable "JSONP::Headers", callback_key => 'callback', headers => qr/^(X-|Link$)/, template => '{ "meta": %s, "data": %s }';
Plack::Middleware::JSONP::Headers wraps JSON response in JSONP (just like Plack::Middleware::JSONP) and adds HTTP header information. For instance the JSON response
{ "foo": "bar" }
with query parameter callback set to doz is wrapped to
callback
doz
doz({ "meta": { "status": 200, "Content-Type": "application/javascript" }, "data": { "foo": "bar" } })
The HTTP headers to be wrapped can be configured. All header values are returned as strings (repeatable headers are ignored) with one exception: Link-headers are parsed and returned as array of <[ url, options ]> tuples.
<[ url, options ]
Same as Plack::Middleware::JSONP this middleware only works with a non-streaming response.
Callback query parameter. Set to callback by default.
List of HTTP headers or regular expression of headers to add to the response. One can alternatively pass a code reference that gets each header as key-value pair. By default all headers are wrapped.
String template for sprintf to construct the JSON response from HTTP headers (first) and original response (second). Set to { "meta": %s, "data": %s } by default.
sprintf
{ "meta": %s, "data": %s }
Inspired by http://developer.github.com/v3/#json-p-callbacks.
Jakob Voß <voss@gbv.de>
This software is copyright (c) 2012 by Jakob Voß.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Plack::Middleware::JSONP::Headers, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Plack::Middleware::JSONP::Headers
CPAN shell
perl -MCPAN -e shell install Plack::Middleware::JSONP::Headers
For more information on module installation, please visit the detailed CPAN module installation guide.