mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
31 lines
1.3 KiB
JavaScript
31 lines
1.3 KiB
JavaScript
var Store = require('../helpers/store')
|
|
, http = require('http')
|
|
|
|
//
|
|
// jsonp is a handy technique for getting around the limitations of the same-origin policy.
|
|
// (http://en.wikipedia.org/wiki/Same_origin_policy)
|
|
//
|
|
// normally, to dynamically update a page you use an XmlHttpRequest. this has flakey support
|
|
// is some browsers and is restricted by the same origin policy. you cannot perform XHR requests to
|
|
// someone else's server. one way around this would be to proxy requests to all the servers you want
|
|
// to xhr to, and your core server - so that everything has the same port and host.
|
|
//
|
|
// another way, is to turn json into javascript. (which is exempt from the same origin policy)
|
|
// this is done by wrapping the json object in a function call, and then including a script tag.
|
|
//
|
|
// here we're proxing our own JSON returning server, but we could proxy any server on the internet,
|
|
// and our client side app would be slurping down JSONP from anywhere.
|
|
//
|
|
// curl localhost:1337/whatever?callback=alert
|
|
// alert([]) //which is valid javascript!
|
|
//
|
|
// also see http://en.wikipedia.org/wiki/JSONP#JSONP
|
|
//
|
|
|
|
http.createServer(new Store().handler()).listen(7531)
|
|
|
|
require('../../lib/node-http-proxy').createServer(
|
|
require('connect-jsonp')(true),
|
|
'localhost', 7531
|
|
).listen(1337)
|