mock by reverve-proxy
npm install mockfc
npm install git://github.com/linkwisdom/mock.git
var mock = require('./index');
// redirect localhost/note/** to blog.liandong.org/blog
// the request response by the back-end-proxy
var proxyConfig = {
host: 'bd.liandong.org',
port: 80,
// path: ['/project'],
// cookie: {name:'linkwisdom'},
replace: [
{source: '/project/114', target: '/project/114'}
]
};
var config = {
service: 'getFile',
port: 8080,
dir: './',
proxy: proxyConfig
};
mock.startServer(config);
-
config your server .
{ location: //request.ajax/, handler: mock.runJS({sourceDir: './debug/response'}) }
-
make sure that your request has parameter
path
and post-data parameterparam
nodejs run the jsfile content withrunInNewContext
to make sure your mock program run instant without restart your server it's easy to write in mock-program
.
console.log({msg: 'the first message'});
-
souds too easy, follow objects are eported for you path: the request-path param: the post-data console.log: you just need log your data, eaquals console.dump
-
you also can customize your mock apps for mock.runJs arguments
.
mock.runJS = function(param);
param.sourceDir
param.runJS = function(code, path, param)
param.pack = function(data)
param.getContent = function(pathName, param)
param.getResult = function(pathName, param)
- for more detail knowleade, you can learn it from the source code
- config your edp config file
- make sure that request send normally
.
{
location: /\/request\.ajax/,
handler: mock.getQuery(response)
}
-
you can test by on your *nix system as
curl -d 'path=GET%2Fmaterial&userid=5¶ms={"level":"planinfo","fields":["optsug","planid"]}' http://localhost:8188/request.ajax
-
where response with function return json or string
.
exports.response = function(path, params) {
return {
status: 200,
data: [ ... ]
};
}