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();
Exemple #2
0
    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...");
Exemple #3
0
//
// 允许/取消 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) {
Exemple #4
0
// 系统参数
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;
Exemple #6
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) {
Exemple #7
0
"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});