koa-safe-jsonp

Safe jsonp plugins for koa.

koa-safe-jsonp

Safe jsonp plusins for koa.

$ npm install koa-safe-jsonp
var jsonp = require('koa-safe-jsonp');
var koa = require('koa');
 
var app = koa();
jsonp(app, {
  callback: '_callback', // default is 'callback' 
  limit: 50, // max callback name string length, default is 512 
});
 
app.use(function* () {
  this.jsonp = {foo: "bar"};
});
 
app.listen(1984);

curl test it:

$ curl 'http://127.0.0.1:1984/foo.json?_callback=fn' -v
 
* About to connect() to 127.0.0.1 port 1984 (#0)
*   Trying 127.0.0.1...
* Adding handle: conn: 0x7fca3c004000
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7fca3c004000) send_pipe: 1, recv_pipe: 0
* Connected to 127.0.0.1 (127.0.0.1) port 1984 (#0)
> GET /foo.json?_callback=fn HTTP/1.1
> User-Agent: curl/7.30.0
> Host: 127.0.0.1:1984
> Accept: */*
>
< HTTP/1.1 200 OK
< X-Powered-By: koa
< X-Content-Type-Options: nosniff
< Content-Type: application/javascript
< Content-Length: 51
< Date: Thu, 17 Jul 2014 15:29:05 GMT
< Connection: keep-alive
<
* Connection #0 to host 127.0.0.1 left intact
/**/ typeof fn === 'function' && fn({"foo":"bar"});

MIT