代码拉取完成,页面将自动刷新
同步操作将从 this_lucky/ynode 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/**
* @author yu
* @license http://www.apache.org/licenses/LICENSE-2.0
*/
'use strict';
var http = require('http');
var Hook = require('./core/Hook');
var Rest = require('./web/Rest');
var InvalidConfigException = require('./core/InvalidConfigException');
class Restful {
/**
* constructor
*
* @param {Object} config 配置信息
*/
constructor(config) {
if(undefined === config) {
throw new InvalidConfigException('The rest config is required');
}
this.config = config;
this.server = null;
this.rest = new Rest(config);
}
// web
requestListener(req, res) {
try {
this.rest.requestListener(req, res);
} catch(e) {
this.rest.handlerException(res, e);
}
}
// handler
handler(req, res) {
Hook.getInstance().trigger(req, res, () => {
this.requestListener(req, res);
});
}
/**
* get
*/
get(pattern, handler) {
this.rest.addRoute('GET', pattern, handler);
}
/**
* post
*/
post(pattern, handler) {
this.rest.addRoute('POST', pattern, handler);
}
/**
* put
*/
put(pattern, handler) {
this.rest.addRoute('PUT', pattern, handler);
}
/**
* delete
*/
delete(pattern, handler) {
this.rest.addRoute('DELETE', pattern, handler);
}
/**
* patch
*/
patch(pattern, handler) {
this.rest.addRoute('PATCH', pattern, handler);
}
/**
* head
*/
head(pattern, handler) {
this.rest.addRoute('HEAD', pattern, handler);
}
/**
* options
*/
options(pattern, handler) {
this.rest.addRoute('OPTIONS', pattern, handler);
}
/**
* 获取 http server
*
* @return http server
*/
getServer() {
return http.createServer(this.handler.bind(this));
}
/**
* listen
*
* @param {Number} port
* @param {Function} callback
*/
listen(port, callback) {
this.server = this.getServer();
this.server.listen(port, callback);
}
}
module.exports = Restful;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。