exports.listAll = listApplications; exports.getSingle = getApplication; // exports.existsName = existsApplicationName; // exports.checkId = checkApplicationId; exports.checkIdAndName = checkApplicationIdAndName; exports.checkNewApplicationInfo = checkNewApplicationInfo; exports.checkApplicationUpdateInfo = checkApplicationUpdateInfo; // exports.getApplications = getApplications; exports.getApplicationInfos = getApplicationInfos; Date.prototype.Format = utils.DateFormat; var logger = config.log4js.getLogger('application'); logger.setLevel(config.LOG_LEVEL); // 注册新应用 function registerApplication(req, res) { var application = req.body; //JSON.parse(req.rawBody); logger.trace('Registering application ' + req.params.name + ': need_login='******'yes' : 'no') + ', need_login_password='******'yes' : 'no') + ', auto_create_account=' + (application.auto_create_account != false ? 'yes' : 'no') + ', protect_login='******'yes' : 'no') + ', encrypt_message=' + (application.encrypt_message ? 'yes' : 'no') + '' ); var appId = uuid.v4().toUpperCase();
var accept = req.headers.accept || ''; res.status(403); if (~accept.indexOf('html')) { res.render('access-denied', {action: action}); } else { res.json({ success: false, errcode: -1, errmsg: 'Access Denied - You don\'t have permission to: ' + action }); } }); Date.prototype.Format = utils.DateFormat; var logger = config.log4js.getLogger('httpd'); logger.setLevel(config.LOG_LEVEL); function main(fn) { fn(); } var exitTimer = null; function aboutExit() { if (exitTimer) return; exitTimer = setTimeout(function () { logger.info("web app exit...");
// // 允许/取消 keep-alive 功能,并可以改写默认的 keep-alive 参数 // // initialDelay: 设置接收到最后一个数据包后发出第一个 keepalive 探测之间的间隔时间(ms) // probeInterval: 设置初始探测之后的 keepalive 探测间隔时间(ms) // failureCount: 设置在 OS 关闭连接之前失败探测的最大次数 // // probeInterval 和 failureCount 在 Windows OS 上不起作用(在win7下起作用)。 // 设置为0,相应的设置保持默认或最新值。 // net.Socket.prototype.setKeepAlive = function (setting, msecs, interval, count) { if (this._handle && this._handle.setKeepAlive) this._handle.setKeepAlive(setting, ~~(msecs / 1000), ~~(interval / 1000), count); } var logger = config.log4js.getLogger('notify'); logger.setLevel(config.LOG_LEVEL); function main(fn) { fn(); } /** * 格式化消息 * @param body 消息内容 * @param secure 消息需要加密 * @param receipt 消息需要确认 * @returns {string} */ function formatMessage(body, secure, receipt) {
// 系统参数 const NOTIFY_NUMBER = config.NOTIFY_NUMBER; const LOGIN_TIMEOUT = config.LOGIN_TIMEOUT; const GRACE_EXIT_TIME = config.GRACE_EXIT_TIME; // const TRACK_SOCKET = config.TRACK_SOCKET; var myIndex; var loginingSockets = []; // clientAddress->(socket, connectTime, accountName) Date.prototype.Format = utils.DateFormat; String.prototype.trim = utils.StringTrim; String.prototype.format = utils.StringFormat; var logger = config.log4js.getLogger('login'); logger.setLevel(config.LOG_LEVEL); /** * 检查应用ID及密码 * * @param appId应用ID * @param password 应用密码 * @param handleResult 处理函数 */ function checkAppId(appId, password, handleResult) { db.redisPool.acquire(function (err, redis) { if (err) { handleResult({passed: false, reason: err}); } else {
* Created with JetBrains WebStorm. * User: joebin * Date: 13-8-1 * Time: 下午3:33 */ var fs = require('fs'); var config = require(__dirname + '/../config'); var db = require(__dirname + '/../db'); // 导出函数 exports.getConnections = getConnections; // 定义常量 // var logger = config.log4js.getLogger('connection'); logger.setLevel(config.LOG_LEVEL); function getConnections(req, res) { logger.trace('Get connections: ' + 'sEcho=' + req.query.sEcho + ', sSearch=' + req.query.sSearch + ', iDisplayLength=' + req.query.iDisplayLength + ', iDisplayStart=' + req.query.iDisplayStart + ', iColumns=' + req.query.iSortingCols + ', sColumns=' + req.query.sColumns + '' ); var iSortCol_0 = req.query.iSortCol_0; var sSortDir_0 = req.query.sSortDir_0;
// exports.checkId = checkAccountId; exports.checkName = checkAccountName; // exports.checkNewAccountInfo = checkNewAccountInfo; exports.checkAccountUpdateInfo = checkAccountUpdateInfo; // exports.getAccounts = getAccounts; // exports.checkUser = checkUser; const DEFAULT_LOGINPASWORD = "666666"; Date.prototype.Format = utils.DateFormat; var logger = config.log4js.getLogger('account'); logger.setLevel(config.LOG_LEVEL); // 新建账号 function createAccount(req, res) { var account = req.body; //JSON.parse(req.rawBody); logger.trace('Creating new account ' + req.params.name + ': phone=' + (account.phone != null ? account.phone : '') + ', email=' + (account.email != null ? account.email : '') + ', password='******'' ); var accountId = uuid.v4().toUpperCase(); var password = (account.password != null ? account.password : DEFAULT_LOGINPASWORD); db.redisPool.acquire(function (err, redis) {
"use strict";var domain=require("domain"),serverDm=domain.create();global.Venus={},Venus.baseDir=__dirname,serverDm.on("error",function(a){delete a.domain,console.error("应用程序发生异常:",a.stack)}),serverDm.run(function(){function a(a,b,c){var d=a.headers["user-agent"];if(/MSIE\s+(\d+)\.\d+/.test(d)){var e=RegExp.$1;9>e?(r.locals.jquery="1.11.0",r.locals.html5='<script src="/js/bootstrap/html5shiv.js"></script>'):(r.locals.jquery="2.1.0",r.locals.html5="")}else r.locals.jquery="2.1.0",r.locals.html5="";c()}function b(a,b,c,d){d(a)}function c(a,b,c,d){b.xhr?(o.error(a),c.send(500,{error:"服务器发生异常!"})):d(a)}function d(a,b,c,d){o.error("errorHandler:",a);var e=require("util");c.status(500),c.render("error.html",{error:e.inspect(a)})}function e(a,b){var c=g.readdirSync(a),d=c.length,e=null;b&&""!==b||(b="/");for(var h=0;d>h;h++)e=c[h],f(a+"/"+e,b)}function f(a,b){g.stat(a,function(c,d){if(c)o.error(c);else if(d.isFile()){var f=h.basename(a,".js"),g=(h.dirname(a),h.basename(h.dirname(a))),i=h.basename(__filename,".js");f!=i&&f.indexOf(g)<0&&(r.all(b+f,function(c,d,e){var g="index",h=require(a);h&&h[c.route.method]&&"function"==typeof h[c.route.method][g]?h[c.route.method][g](c,d,e,b+f):d.render("404.html")}),r.all(b+f+"/:ooo",function(c,d,e){var g="index";c.param("ooo")&&""!==c.param("ooo")&&(g=c.param("ooo")),o.debug(a);var h=require(a);h&&h[c.route.method]&&"function"==typeof h[c.route.method][g]?h[c.route.method][g](c,d,e,b+f):d.render("404.html")}))}else if(d.isDirectory()){var j=h.basename(a);e(a,b+j+"/")}else o.error("unknow type of file")})}{var g=(require("lodash"),require("fs")),h=require("path"),i=require("express"),j=require("express-partials"),k=require("http"),l=(require("https"),require("node-conf")),m=(require(__dirname+"/../VenusLib/ami/asmanager").nami,require("connect-jugglingdb")(i),require(__dirname+"/database/jdmysql").schema,require(__dirname+"/modules/DBModules").Dbs,l.load("app")),n=m.debug?"src":"build",o=require(__dirname+"/lib/logger").logger("web"),p=require(__dirname+"/lib/logger").log4js,q=k.createServer(),r=({key:g.readFileSync(__dirname+"/PCA/server.key"),cert:g.readFileSync(__dirname+"/PCA/server.crt")},i());i.Router()}r.set("port",process.env.PORT||m.hostport),r.set("views",h.join(__dirname,"views")),r.set("view engine","ejs"),r.set("env",m.env),r.engine("html",require("ejs").renderFile),r.use(j()),r.use(i.favicon()),r.use(p.connectLogger(o,{level:p.levels.DEBUG,format:":method :url"})),r.use(i.bodyParser({uploadDir:__dirname+"/public/uploads"})),r.use(require("stylus").middleware(h.join(__dirname,"public"))),r.use(i["static"](h.join(__dirname,"public"))),r.use(i.json()),r.use(i.urlencoded()),r.use(i.methodOverride()),r.use(i.cookieParser()),r.use(i.session({secret:"*****@*****.**"})),"development"===r.get("env")&&(o.info("当前运行于开发环境!"),r.use(i.errorHandler({showStack:!0,dumpExceptions:!0}))),"production"===r.get("env"),r.use(a),r.use(function(a,b,c){var d=domain.create();d.on("error",function(a){c(a)}),d.run(function(){c()})}),r.use(r.router),r.get("/",function(a,b,c){b.redirect("/index")}),e(__dirname+"/routes/"+n+"/"),r.use(function(a,b,c){b.render("404.html",{status:404,title:""})}),r.use(b),r.use(c),r.use(d),r.locals({title:m.appname,phone:m.phone,email:m.email}),q.maxHeadersCount=0,q.setMaxListeners(0),q.on("request",r),q.on("error",function(a){o.error("发生错误: ",a)}),module.parent||q.listen(r.get("port"),function(){o.info("成功启动四川建设网语音拨打服务: "+r.get("port"))}),module.exports=q});