Node.js server which sends back everything you send to it.
$ npm install -g mirror-server
When your server is running you can send any request to it and it will return you the same data you sent.
There are also few options which you can use to modify response from mirror-server:
statusCode
: change status code (default is200
)contentType
: change content type (default isapplication/json
)
Normally you're sending GET
or POST
data (object or list of parameters), but you can send also custom plain text
data with response
parameter.
var http = require('http');
var req = http.request({
host: 'localhost',
port: 3000,
method: 'GET',
path: '/?name=David&number=5&statusCode=304&contentType=' + encodeURIComponent('text/plain')
}, function(res) {
var data = '';
res.setEncoding('utf8');
res.on('data', function(chunk) {
data += chunk;
});
res.on('end', function() {
data = JSON.parse(data);
console.log(data.name); // output: David
console.log(data.number); // output: 5
});
});
req.end();
var http = require('http');
var querystring = require('querystring');
var data = querystring.stringify({
name: 'David',
number: 5,
statusCode: 304,
contentType: 'text/plain'
});
var req = http.request({
host: 'localhost',
port: 3000,
method: 'GET',
path: '/'
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': data.length
}
}, function(res) {
var data = '';
res.setEncoding('utf8');
res.on('data', function(chunk) {
data += chunk;
});
res.on('end', function() {
data = JSON.parse(data);
console.log(data.name); // output: David
console.log(data.number); // output: 5
});
});
req.write(data);
req.end();
Information about sent files is stored in response HTTP header X-Mirror-Files
.
console.log(JSON.parse(response.headers['x-mirror-files']));
[
{
name: 'name of POST field',
filename: 'actual filename'
}
]
$ mirror-server --port 3000
var Server = require('mirror-server');
var server = new Server(3000); // port
server.connect(function() {
console.log('success');
});
setTimeout(function() { // wait a while before disconnecting from server
server.disconnect();
}, 1000);