mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
updating demo
This commit is contained in:
parent
2f49810ef8
commit
c4b7c0d8a0
54
demo.js
54
demo.js
@ -8,7 +8,7 @@
|
||||
|
||||
var vows = require('vows'),
|
||||
sys = require('sys'),
|
||||
colors = require('./vendor/colors')
|
||||
colors = require('colors')
|
||||
assert = require('assert'),
|
||||
http = require('http');
|
||||
|
||||
@ -16,40 +16,40 @@ var HttpProxy = require('./lib/node-http-proxy').HttpProxy;
|
||||
var testServers = {};
|
||||
|
||||
|
||||
// regular http server
|
||||
http.createServer(function (req, res){
|
||||
// Initialize the nodeProxy and start proxying the request
|
||||
var proxy = new (HttpProxy);
|
||||
proxy.init(req, res);
|
||||
// lets proxy the request to another service
|
||||
proxy.proxyRequest('localhost', '8081', req, res);
|
||||
|
||||
}).listen(8080);
|
||||
sys.puts('started a http server on port 8080'.green)
|
||||
// ascii art from http://github.com/marak/asciimo
|
||||
var welcome = '\
|
||||
# # ##### ##### ##### ##### ##### #### # # # # \n\
|
||||
# # # # # # # # # # # # # # # # \n\
|
||||
###### # # # # ##### # # # # # # ## # \n\
|
||||
# # # # ##### ##### ##### # # ## # \n\
|
||||
# # # # # # # # # # # # # \n\
|
||||
# # # # # # # # #### # # # \n';
|
||||
sys.puts(welcome.rainbow.bold);
|
||||
|
||||
// http server with latency
|
||||
// create regular http proxy server
|
||||
http.createServer(function (req, res){
|
||||
var proxy = new (HttpProxy);
|
||||
proxy.init(req, res);
|
||||
proxy.proxyRequest('localhost', '9000', req, res);
|
||||
}).listen(8000);
|
||||
sys.puts('http proxy server'.blue + ' started '.green.bold + 'on port '.blue + '8000'.yellow);
|
||||
|
||||
// http proxy server with latency
|
||||
http.createServer(function (req, res){
|
||||
// Initialize the nodeProxy and start proxying the request
|
||||
var proxy = new (HttpProxy);
|
||||
proxy.init(req, res);
|
||||
|
||||
// lets proxy the request to another service
|
||||
setTimeout(function(){
|
||||
proxy.proxyRequest('localhost', '8090', req, res);
|
||||
proxy.proxyRequest('localhost', '9000', req, res);
|
||||
}, 200)
|
||||
|
||||
}).listen(8081);
|
||||
sys.puts('started a http server with latency on port 8081'.green)
|
||||
|
||||
|
||||
}).listen(8001);
|
||||
sys.puts('http proxy server '.blue + 'started '.green.bold + 'on port '.blue + '8001 '.yellow + 'with latency'.magenta.underline );
|
||||
|
||||
// create regular http server
|
||||
http.createServer(function (req, res){
|
||||
res.writeHead(200, {'Content-Type': 'text/plain'});
|
||||
res.write('foo');
|
||||
res.end();
|
||||
}).listen(8090);
|
||||
sys.puts('started another http server on port 8090'.green)
|
||||
|
||||
|
||||
sys.puts('to test the proxy server, request http://localhost:8080/ in your browser.');
|
||||
sys.puts('your request will proxy to the server running on port 8081');
|
||||
}).listen(9000);
|
||||
sys.puts('http server '.blue + 'started '.green.bold + 'on port '.blue + '9000 '.yellow);
|
||||
//sys.puts('to test the proxy server, request http://localhost:8080/ in your browser.');
|
||||
//sys.puts('your request will proxy to the server running on port 8081');
|
||||
75
vendor/colors.js
vendored
75
vendor/colors.js
vendored
@ -1,75 +0,0 @@
|
||||
/*
|
||||
colors.js
|
||||
|
||||
Copyright (c) 2010 Alexis Sellier (cloudhead) , Marak Squires
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
*/
|
||||
|
||||
// prototypes the string object to have additional method calls that add terminal colors
|
||||
['bold', 'underline', 'italic', 'inverse', 'grey', 'yellow', 'red', 'green', 'blue', 'white', 'cyan', 'magenta'].forEach(function (style) {
|
||||
Object.defineProperty(String.prototype, style, {
|
||||
get: function () {
|
||||
return stylize(this, style);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// prototypes string with method "rainbow"
|
||||
// rainbow will apply a the color spectrum to a string, changing colors every letter
|
||||
Object.defineProperty(String.prototype, 'rainbow', {
|
||||
get: function () {
|
||||
var rainbowcolors = ['red','yellow','green','blue','magenta']; //RoY G BiV
|
||||
var exploded = this.split("");
|
||||
var i=0;
|
||||
exploded = exploded.map(function(letter) {
|
||||
if (letter==" ") {
|
||||
return letter;
|
||||
}
|
||||
else {
|
||||
return stylize(letter,rainbowcolors[i++ % rainbowcolors.length]);
|
||||
}
|
||||
});
|
||||
return exploded.join("");
|
||||
}
|
||||
});
|
||||
|
||||
function stylize(str, style) {
|
||||
var styles = {
|
||||
//styles
|
||||
'bold' : [1, 22],
|
||||
'italic' : [3, 23],
|
||||
'underline' : [4, 24],
|
||||
'inverse' : [7, 27],
|
||||
//grayscale
|
||||
'white' : [37, 39],
|
||||
'grey' : [90, 39],
|
||||
'black' : [90, 39],
|
||||
//colors
|
||||
'blue' : [34, 39],
|
||||
'cyan' : [36, 39],
|
||||
'green' : [32, 39],
|
||||
'magenta' : [35, 39],
|
||||
'red' : [31, 39],
|
||||
'yellow' : [33, 39]
|
||||
};
|
||||
return '\033[' + styles[style][0] + 'm' + str +
|
||||
'\033[' + styles[style][1] + 'm';
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user