Restore proxy server

This commit is contained in:
Roy Hyunjin Han 2015-02-17 16:40:43 -05:00
commit d96831de19
4 changed files with 41 additions and 5 deletions

View file

@ -7,12 +7,14 @@ before_install:
- sudo apt-get update
- sudo apt-get install nodejs
install:
- npm install -G socket.io@0.9
- npm install -G socket.io
- npm install -G http-proxy
- pip install -U requests
- pip install -U six
- pip install -U websocket-client
- pip install -U coverage
before_script:
- node serve-tests.js &
- DEBUG=* node tests/serve.js &
- DEBUG=* node tests/proxy.js &
- sleep 3
script: nosetests

View file

@ -30,10 +30,14 @@ Activate isolated environment. ::
VIRTUAL_ENV=$HOME/.virtualenv
source $VIRTUAL_ENV/bin/activate
Launch a socket.io server. ::
Launch your server. ::
# Get package folder
PACKAGE_FOLDER=`python -c "import os, socketIO_client; print(os.path.dirname(socketIO_client.__file__))"`
node $PACKAGE_FOLDER/tests/serve.js
# Start socket.io server
DEBUG=* node $PACKAGE_FOLDER/tests/serve.js
# Start proxy server in a separate terminal on the same machine
DEBUG=* node $PACKAGE_FOLDER/tests/proxy.js
For debugging information, run these commands first. ::

View file

@ -0,0 +1,30 @@
var proxy = require('http-proxy').createProxyServer({
target: {host: 'localhost', port: 9000}
});
var server = require('http').createServer(function(req, res) {
console.log('[REQUEST.%s] %s', req.method, req.url);
console.log(req['headers']);
if (req.method == 'POST') {
var body = '';
req.on('data', function (data) {
body += data;
});
req.on('end', function () {
print_body('[REQUEST.BODY] ', body);
});
}
var write = res.write;
res.write = function(data) {
print_body('[RESPONSE.BODY] ', data);
write.call(res, data);
}
proxy.web(req, res);
});
function print_body(header, body) {
var text = String(body);
console.log(header + text);
for (var i = 0; i < text.length; i++) {
console.log('body[%s] = %s = %s', i, text[i], text.charCodeAt(i));
}
}
server.listen(8000);

View file

@ -1,6 +1,6 @@
// DEBUG=* node serve.js
var app = require('http').createServer(serve).listen(8000);
var app = require('http').createServer(serve).listen(9000);
var io = require('socket.io')(app);
var fs = require('fs');
var PAYLOAD = {'xxx': 'yyy'};