【发布时间】:2015-11-13 05:20:10
【问题描述】:
我正在使用 node.js Restify v4.0.3。 REST API 服务器支持 HTTP 和 HTTPS。目前声明服务器的代码违反了 DRY(不重复)原则。
HTTP 服务器的声明代码。
var server = restify.createServer({
name: 'myapp',
version: '1.0.0'
});
server.use(restify.acceptParser(server.acceptable));
server.use(restify.queryParser());
server.use(restify.bodyParser());
server.use(restify.CORS());
server.opts(/.*/, function (req,res,next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", req.header("Access-Control-Request-Method"));
res.header("Access-Control-Allow-Headers", req.header("Access-Control-Request-Headers"));
res.send(200);
return next();
});
server.listen(8400, function () {
console.log('%s listening at %s', server.name, server.url);
});
HTTPS服务器的声明代码
var https_options = {
name: 'myapp',
version: '1.0.0',
key: fs.readFileSync('./HTTPS.key'), //on current folder
certificate: fs.readFileSync('./HTTPS.cert'),
};
var https_server = restify.createServer(https_options);
https_server.use(restify.acceptParser(server.acceptable));
https_server.use(restify.queryParser());
https_server.use(restify.bodyParser());
https_server.use(restify.CORS());
https_server.opts(/.*/, function (req,res,next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", req.header("Access-Control-Request-Method"));
res.header("Access-Control-Allow-Headers", req.header("Access-Control-Request-Headers"));
res.send(200);
return next();
});
https_server.listen(8500, function () {
console.log('%s listening at %s', https_server.name, https_server.url);
});
有很多重复。如何改进代码以符合 DRY 原则?
【问题讨论】:
标签: javascript node.js rest dry restify