const restify = require('restify');
const assert = require('assert');
const exec = require('child_process').exec;
var server = restify.createServer();
var myIf = 'eth0:1';
function ifUp(cb) {
exec('ifconfig ' + myIf + ' 192.168.32.1', function(err) {
assert(!err);
cb();
});
}
function ifDown(cb) {
exec('ifconfig ' + myIf + ' down', function(err) {
assert(!err);
cb();
});
}
function serverUp(cb) {
server.get('/', function (req, res, next) {
res.send('foo');
next();
});
server.listen(7777, cb);
}
function prepare(cb) {
ifUp(function() {
serverUp(cb);
});
}
var client = restify.createStringClient({
url: 'http://192.168.32.1:7777',
connectTimeout: 3000,
requestTimeout: 3000,
version: '*',
retry: false
});
prepare(function() {
console.log('request 1');
client.get('/', function(err, req, res, data) {
assert(!err);
console.log('request 2');
client.get('/', function(err, req, res, data) {
assert(!err);
ifDown(function() {
console.log("request 3", new Date());
client.get('/', function(err, req, res, data) {
console.log("done", new Date());
console.log(err);
});
});
});
});
});
Thanks,
Alexey Komarov
const restify = require('restify');const assert = require('assert');const exec = require('child_process').exec;
var server = restify.createServer();
var i = 0;
server.get('/', function (req, res, next) {
if (i++) { setInterval(function() { res.send('bar'); next(); }, 10000);
return;
}
res.send('foo'); next();});
server.listen(7777, function() { console.log('server started');
});
var client = restify.createStringClient({
url: 'http://127.0.0.1:7777',
connectTimeout: 3000, requestTimeout: 3000, version: '*', retry: false});
console.log('request 1');
client.get('/', function(err, req, res, data) { assert(!err);
console.log('request 2', new Date());
client.get('/', function(err, req, res, data) { console.log("done", new Date()); console.log(err);
console.log('request 3', new Date()); client.get('/', function(err, req, res, data) { console.log("done", new Date()); console.log(err); }); });});