From 3ce097359cac7faa85093b7b284040f7f29c1ae4 Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Mon, 21 Jan 2013 12:04:02 +0300 Subject: [PATCH] Some variable name refactoring --- acs.coffee | 80 +++++++++++++++++++++++++-------------------------- tasks.coffee | 40 +++++++++++++------------- tr-069.coffee | 60 +++++++++++++++++++------------------- 3 files changed, 90 insertions(+), 90 deletions(-) diff --git a/acs.coffee b/acs.coffee index 3c77e79..b616fc5 100644 --- a/acs.coffee +++ b/acs.coffee @@ -32,8 +32,8 @@ writeResponse = (currentRequest, res) -> throw new Error(err) if err ) - currentRequest.response.writeHead(res.code, res.headers) - currentRequest.response.end(res.data) + currentRequest.httpResponse.writeHead(res.code, res.headers) + currentRequest.httpResponse.end(res.data) updateDevice = (currentRequest, actions, callback) -> @@ -91,14 +91,14 @@ updateDevice = (currentRequest, actions, callback) -> callback() if callback? -runTask = (currentRequest, task, reqParams) -> - resParams = {} - actions = tasks.task(task, reqParams, resParams) +runTask = (currentRequest, task, cwmpRequest) -> + cwmpResponse = {} + actions = tasks.task(task, cwmpRequest, cwmpResponse) updateDevice(currentRequest, actions) - if Object.keys(resParams).length > 0 + if Object.keys(cwmpResponse).length > 0 db.updateTask(task, (err) -> - res = tr069.response(currentRequest.sessionId, resParams, {task : String(task._id)}) + res = tr069.response(currentRequest.sessionId, cwmpResponse, {task : String(task._id)}) writeResponse(currentRequest, res) ) return @@ -115,8 +115,8 @@ runTask = (currentRequest, task, reqParams) -> nextTask = (currentRequest, cookies) -> cur = db.tasksCollection.find({'device' : currentRequest.deviceId}).sort(['timestamp']).limit(1) cur.nextObject( (err, task) -> - reqParams = {} - resParams = {} + cwmpRequest = {} + cwmpResponse = {} if not task # no more tasks, check presets discrepancy @@ -136,22 +136,22 @@ nextTask = (currentRequest, cookies) -> ) else # no discrepancy, return empty response - res = tr069.response(currentRequest.sessionId, resParams, cookies) + res = tr069.response(currentRequest.sessionId, cwmpResponse, cookies) writeResponse(currentRequest, res) ) else # no discrepancy, return empty response - res = tr069.response(currentRequest.sessionId, resParams, cookies) + res = tr069.response(currentRequest.sessionId, cwmpResponse, cookies) writeResponse(currentRequest, res) ) return else if task.fault? # last task was faulty. Do nothing until until task is deleted - res = tr069.response(currentRequest.sessionId, resParams, cookies) + res = tr069.response(currentRequest.sessionId, cwmpResponse, cookies) writeResponse(currentRequest, res) else util.log("#{currentRequest.deviceId}: Started task #{task.name}(#{task._id})") - runTask(currentRequest, task, reqParams) + runTask(currentRequest, task, cwmpRequest) ) @@ -173,22 +173,22 @@ if cluster.isMaster for i in [1 .. numCPUs] cluster.fork() else - server = http.createServer (request, response) -> - if request.method != 'POST' + server = http.createServer (httpRequest, httpResponse) -> + if httpRequest.method != 'POST' #console.log '>>> 405 Method Not Allowed' - response.writeHead 405, {'Allow': 'POST'} - response.end('405 Method Not Allowed') + httpResponse.writeHead 405, {'Allow': 'POST'} + httpResponse.end('405 Method Not Allowed') return chunks = [] bytes = 0 cookies = {} - request.addListener 'data', (chunk) -> + httpRequest.addListener 'data', (chunk) -> chunks.push(chunk) bytes += chunk.length - request.getBody = (encoding) -> + httpRequest.getBody = (encoding) -> # Write all chunks into a Buffer body = new Buffer(bytes) offset = 0 @@ -200,42 +200,42 @@ else #Return encoded (default to UTF8) string return body.toString(encoding || 'utf8', 0, body.byteLength) - request.addListener 'end', () -> + httpRequest.addListener 'end', () -> currentRequest = {} - currentRequest.request = request - currentRequest.response = response + currentRequest.httpRequest = httpRequest + currentRequest.httpResponse = httpResponse - resParams = {} - reqParams = tr069.request(request) + cwmpResponse = {} + cwmpRequest = tr069.request(httpRequest) # get deviceId either from inform xml or cookie - if reqParams.deviceId? - currentRequest.deviceId = common.getDeviceId(reqParams.deviceId) + if cwmpRequest.deviceId? + currentRequest.deviceId = common.getDeviceId(cwmpRequest.deviceId) cookies.DeviceId = currentRequest.deviceId else - currentRequest.deviceId = reqParams.cookies.DeviceId + currentRequest.deviceId = cwmpRequest.cookies.DeviceId if config.DEBUG_DEVICES[currentRequest.deviceId] - dump = "# REQUEST #{new Date(Date.now())}\n" + JSON.stringify(request.headers) + "\n#{request.getBody()}\n\n" + dump = "# REQUEST #{new Date(Date.now())}\n" + JSON.stringify(httpRequest.headers) + "\n#{httpRequest.getBody()}\n\n" require('fs').appendFile("debug/#{currentRequest.deviceId}.dump", dump, (err) -> throw new Error(err) if err ) - if reqParams.inform - resParams.inform = true - cookies.ID = currentRequest.sessionId = reqParams.sessionId + if cwmpRequest.inform + cwmpResponse.inform = true + cookies.ID = currentRequest.sessionId = cwmpRequest.sessionId if config.LOG_INFORMS - util.log("#{currentRequest.deviceId}: Inform (#{reqParams.eventCodes}); retry count #{reqParams.retryCount}") + util.log("#{currentRequest.deviceId}: Inform (#{cwmpRequest.eventCodes}); retry count #{cwmpRequest.retryCount}") - updateDevice(currentRequest, {'inform' : true, 'parameterValues' : reqParams.informParameterValues}, (err) -> - res = tr069.response(currentRequest.sessionId, resParams, cookies) + updateDevice(currentRequest, {'inform' : true, 'parameterValues' : cwmpRequest.informParameterValues}, (err) -> + res = tr069.response(currentRequest.sessionId, cwmpResponse, cookies) writeResponse(currentRequest, res) ) return - currentRequest.sessionId = reqParams.cookies.ID - taskId = reqParams.cookies.task + currentRequest.sessionId = cwmpRequest.cookies.ID + taskId = cwmpRequest.cookies.task if not taskId nextTask(currentRequest, cookies) @@ -243,15 +243,15 @@ else db.getTask(taskId, (task) -> if not task nextTask(currentRequest, cookies) - else if reqParams.fault? + else if cwmpRequest.fault? util.log("#{currentRequest.deviceId}: Fault response for task #{task._id}") - db.tasksCollection.update({_id : mongodb.ObjectID(String(task._id))}, {$set : {fault : reqParams.fault}}, (err) -> + db.tasksCollection.update({_id : mongodb.ObjectID(String(task._id))}, {$set : {fault : cwmpRequest.fault}}, (err) -> # Faulty task. No more work to do until task is deleted. - res = tr069.response(currentRequest.sessionId, resParams, cookies) + res = tr069.response(currentRequest.sessionId, cwmpResponse, cookies) writeResponse(currentRequest, res) ) else - runTask(currentRequest, task, reqParams) + runTask(currentRequest, task, cwmpRequest) ) server.listen config.ACS_PORT, config.ACS_INTERFACE diff --git a/tasks.coffee b/tasks.coffee index a6a212f..e107cf9 100644 --- a/tasks.coffee +++ b/tasks.coffee @@ -1,13 +1,13 @@ common = require './common' BATCH_SIZE = 16 -this.init = (task, request, response) -> +this.init = (task, cwmpRequest, cwmpResponse) -> ret = {} if not task.subtask? task.subtask = {'name' : 'getParameterNames', 'parameterPath' : '', 'nextLevel' : false} if task.subtask.name == 'getParameterNames' - common.extend(ret, this.getParameterNames(task.subtask, request, response)) + common.extend(ret, this.getParameterNames(task.subtask, cwmpRequest, cwmpResponse)) if ret.parameterNames? # task finished parameterNames = [] for p in ret.parameterNames @@ -16,37 +16,37 @@ this.init = (task, request, response) -> task.subtask = {'name' : 'getParameterValues', 'parameterNames' : parameterNames} if task.subtask.name == 'getParameterValues' - common.extend(ret, this.getParameterValues(task.subtask, request, response)) + common.extend(ret, this.getParameterValues(task.subtask, cwmpRequest, cwmpResponse)) ret -this.getParameterNames = (task, request, response) -> - if request.getParameterNamesResponse? - return {'parameterNames' : request.getParameterNamesResponse} +this.getParameterNames = (task, cwmpRequest, cwmpResponse) -> + if cwmpRequest.getParameterNamesResponse? + return {'parameterNames' : cwmpRequest.getParameterNamesResponse} else - response.getParameterNames = [task.parameterPath, if task.nextLevel? task.nextLevel else false] + cwmpResponse.getParameterNames = [task.parameterPath, if task.nextLevel? task.nextLevel else false] return -this.getParameterValues = (task, request, response) -> +this.getParameterValues = (task, cwmpRequest, cwmpResponse) -> if not task.currentIndex? task.currentIndex = 0 - else if request.getParameterValuesResponse? + else if cwmpRequest.getParameterValuesResponse? task.currentIndex = task.nextIndex task.nextIndex = Math.min(task.currentIndex + BATCH_SIZE, task.parameterNames.length) names = task.parameterNames.slice(task.currentIndex, task.nextIndex) if names.length > 0 - response.getParameterValues = names + cwmpResponse.getParameterValues = names - if request.getParameterValuesResponse - return {'parameterValues' : request.getParameterValuesResponse} + if cwmpRequest.getParameterValuesResponse + return {'parameterValues' : cwmpRequest.getParameterValuesResponse} return -this.setParameterValues = (task, request, response) -> +this.setParameterValues = (task, cwmpRequest, cwmpResponse) -> if not task.currentIndex? task.currentIndex = 0 - else if request.setParameterValuesResponse? + else if cwmpRequest.setParameterValuesResponse? prevValues = task.parameterValues.slice(task.currentIndex, task.nextIndex) task.currentIndex = task.nextIndex @@ -54,15 +54,15 @@ this.setParameterValues = (task, request, response) -> values = task.parameterValues.slice(task.currentIndex, task.nextIndex) if values.length > 0 - response.setParameterValues = values + cwmpResponse.setParameterValues = values if prevValues? return {'parameterValues' : prevValues} return -this.reboot = (task, request, response) -> - if not request.reboot - response.reboot = 'reboot' +this.reboot = (task, cwmpRequest, cwmpResponse) -> + if not cwmpRequest.reboot + cwmpResponse.reboot = 'reboot' -exports.task = (task, request, response) -> - return this[task.name](task, request, response) +exports.task = (task, cwmpRequest, cwmpResponse) -> + return this[task.name](task, cwmpRequest, cwmpResponse) diff --git a/tr-069.coffee b/tr-069.coffee index a367c61..5e5948c 100644 --- a/tr-069.coffee +++ b/tr-069.coffee @@ -134,34 +134,34 @@ fault = (xml) -> return undefined -exports.request = (request) -> - req = {cookies: {}} - req.cookies = cookiesToObj(request.headers.cookie) if request.headers.cookie +exports.request = (httpRequest) -> + cwmpRequest = {cookies: {}} + cwmpRequest.cookies = cookiesToObj(httpRequest.headers.cookie) if httpRequest.headers.cookie - data = request.getBody() + data = httpRequest.getBody() - if +request.headers['Content-Length'] > 0 || data.length > 0 + if +httpRequest.headers['Content-Length'] > 0 || data.length > 0 try xml = libxmljs.parseXml data catch err # some devices send invalid utf8 characters - xml = libxmljs.parseXml request.getBody('binary') + xml = libxmljs.parseXml httpRequest.getBody('binary') - req.sessionId = sessionId xml - req.inform = true if xml.get('//soap-env:Envelope/soap-env:Body/cwmp:Inform', NAMESPACES) - req.informParameterValues = informParameterValues xml - req.reboot = true if xml.get('//soap-env:Envelope/soap-env:Body/cwmp:RebootResponse', NAMESPACES) - req.deviceId = deviceId xml - req.eventCodes = eventCodes xml - req.retryCount = retryCount xml - req.getParameterNamesResponse = getParameterNamesResponse xml - req.getParameterValuesResponse = getParameterValuesResponse xml - req.setParameterValuesResponse = setParameterValuesResponse xml - req.fault = fault xml - return req + cwmpRequest.sessionId = sessionId xml + cwmpRequest.inform = true if xml.get('//soap-env:Envelope/soap-env:Body/cwmp:Inform', NAMESPACES) + cwmpRequest.informParameterValues = informParameterValues xml + cwmpRequest.reboot = true if xml.get('//soap-env:Envelope/soap-env:Body/cwmp:RebootResponse', NAMESPACES) + cwmpRequest.deviceId = deviceId xml + cwmpRequest.eventCodes = eventCodes xml + cwmpRequest.retryCount = retryCount xml + cwmpRequest.getParameterNamesResponse = getParameterNamesResponse xml + cwmpRequest.getParameterValuesResponse = getParameterValuesResponse xml + cwmpRequest.setParameterValuesResponse = setParameterValuesResponse xml + cwmpRequest.fault = fault xml + return cwmpRequest -exports.response = (sessionId, params, cookies = null) -> +exports.response = (sessionId, cwmpResponse, cookies = null) -> headers = { 'Content-Type' : 'text/xml; charset="utf-8"', 'Server' : SERVER_NAME, @@ -171,7 +171,7 @@ exports.response = (sessionId, params, cookies = null) -> if cookies? and Object.keys(cookies).length > 0 headers['Set-Cookie'] = cookiesToStr(cookies) - if params is null or Object.keys(params).length == 0 + if cwmpResponse is null or Object.keys(cwmpResponse).length == 0 #console.log '>>> EMPTY RESPONSE' # send empty response headers['Content-Length'] = 0 @@ -187,30 +187,30 @@ exports.response = (sessionId, params, cookies = null) -> #header.node('cwmp:NoMoreRequests').text(0) # depracated body = env.node('soap-env:Body') - if params.inform + if cwmpResponse.inform body.node('cwmp:InformResponse').node('MaxEnvelopes').text(1) - if params.getParameterNames? + if cwmpResponse.getParameterNames? getParameterNames = body.node('cwmp:GetParameterNames') - getParameterNames.node('cwmp:ParameterPath').text(params.getParameterNames[0]) - getParameterNames.node('cwmp:NextLevel').text(+params.getParameterNames[1]) + getParameterNames.node('cwmp:ParameterPath').text(cwmpResponse.getParameterNames[0]) + getParameterNames.node('cwmp:NextLevel').text(+cwmpResponse.getParameterNames[1]) - if params.getParameterValues? + if cwmpResponse.getParameterValues? parameterNames = body.node('cwmp:GetParameterValues').node('cwmp:ParameterNames') - for p in params.getParameterValues + for p in cwmpResponse.getParameterValues parameterNames.node('xsd:string').text(p) - if params.setParameterValues? + if cwmpResponse.setParameterValues? setParameterValuesNode = body.node('cwmp:SetParameterValues') parameterList = setParameterValuesNode.node('ParameterList') - for i in params.setParameterValues + for i in cwmpResponse.setParameterValues pvs = parameterList.node('ParameterValueStruct') pvs.node('Name').text(i[0]) pvs.node('Value').text(i[1]) setParameterValuesNode.node('ParameterKey') - if params.reboot? - body.node('cwmp:Reboot').node('CommandKey').text(params.reboot) + if cwmpResponse.reboot? + body.node('cwmp:Reboot').node('CommandKey').text(cwmpResponse.reboot) data = xml.toString()