From ae845a8b05579f89300af85d521ecd702484d3f9 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 10 Feb 2014 06:28:52 -0500 Subject: [PATCH] refactor(main) getPathName: add querystring --- cloudcmd.js | 9 +-------- lib/server.js | 5 +---- lib/server/main.js | 10 ++++++---- lib/server/rest.js | 20 ++++++++++++-------- 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/cloudcmd.js b/cloudcmd.js index a703abba..331f5207 100644 --- a/cloudcmd.js +++ b/cloudcmd.js @@ -104,13 +104,6 @@ AppCache.createManifest(); } - /** - * rest interface - * @pParams pConnectionData {request, responce} - */ - function rest(pConnectionData) { - return Util.exec(main.rest, pConnectionData); - } function init() { var lServerDir, lArg, lParams, lFiles; @@ -152,7 +145,7 @@ lParams = { appcache : appCacheProcessing, - rest : rest, + rest : main.rest, route : route }, diff --git a/lib/server.js b/lib/server.js index 49979ece..480cbd8e 100644 --- a/lib/server.js +++ b/lib/server.js @@ -169,9 +169,6 @@ lQuery = lParsedUrl.search || '', path = main.getPathName(pReq); - /* added supporting of Russian language in directory names */ - path = Querystring.unescape(path); - if (!expressApp) Util.log(pReq.method + ' ' + path + lQuery); @@ -182,7 +179,7 @@ }; if (lConfig.rest) - lRet = Util.exec(Rest, data); + lRet = Util.exec(Rest, pReq, pRes); if (!lRet && Route) lRet = Util.exec(Route, data); diff --git a/lib/server/main.js b/lib/server/main.js index 9ab96780..d053f0f7 100644 --- a/lib/server/main.js +++ b/lib/server/main.js @@ -11,7 +11,7 @@ SLASH, ISWIN32, ext, - path, fs, zlib, url, pipe, CloudFunc, diffPatch, + path, fs, zlib, url, pipe, CloudFunc, diffPatch, querystring, OK, FILE_NOT_FOUND, MOVED_PERMANENTLY, REQUEST, RESPONSE, @@ -39,7 +39,7 @@ exports.https = require('https'), exports.path = path = require('path'), exports.url = url = require('url'), - exports.querystring = require('querystring'), + exports.querystring = querystring = require('querystring'), /* Constants */ /* current dir + 2 levels up */ @@ -425,8 +425,10 @@ var pathname, parsed; if (req) { - parsed = url.parse(req.url); - pathname = parsed.pathname; + parsed = url.parse(req.url); + pathname = parsed.pathname; + /* supporting of Russian language in directory names */ + pathname = querystring.unescape(pathname); } return pathname; diff --git a/lib/server/rest.js b/lib/server/rest.js index 8d89c3c1..510f38c2 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -37,17 +37,21 @@ * rest interface * @pParams {request, responce} */ - exports.api = function(pParams) { - var ret = main.checkParams(pParams); + exports.api = function(request, response) { + var apiURL, name, ret; - if (ret) { - var lAPIURL = main.config.apiURL, - p = pParams; + if (request && response) { + apiURL = main.config.apiURL; + name = main.getPathName(request); + ret = Util.isContainStr(name, apiURL); - ret = Util.isContainStr(p.name, lAPIURL); if (ret) { - p.name = Util.removeStrOneTime(p.name, lAPIURL) || '/'; - sendData(pParams); + name = Util.removeStrOneTime(name, apiURL) || '/'; + sendData({ + request : request, + response : response, + name : name + }); } } return ret;