Mirror server
Node.js server which sends back everything you send to it.
Installation
$ npm install -g mirror-server
Usage
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 is 200
)
contentType
: change content type (default is application/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.
GET
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);
console.log(data.number);
});
});
req.end();
POST
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);
console.log(data.number);
});
});
req.write(data);
req.end();
Sending files
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'
}
]
Running server
CLI
$ mirror-server --port 3000
node.js
var Server = require('mirror-server');
var server = new Server(3000);
server.connect(function() {
console.log('success');
});
setTimeout(function() {
server.disconnect();
}, 1000);