dd6ce15e
sumatek
add customer
|
1
2
3
4
5
|
var env = process.env.NODE_ENV || 'development';
var cfg = require('../../config/config.js').get(env);
var stats = require('../helper/stats.js');
var request = require('request');
var messageSOAP = require('../helper/messageSOAP.js');
|
e2039477
Nattapon Wongpaet
update log
|
6
|
var log = require('../helper/log.js');
|
479b9d98
sumatek
update use constants
|
7
|
var constants = require('../helper/constants.js');
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
8
|
var moment = require('moment');
|
787e24ad
sumatek
update async func...
|
9
|
|
dd6ce15e
sumatek
add customer
|
10
11
|
var connection = [];
|
787e24ad
sumatek
update async func...
|
12
|
|
1b5ca11b
Nattapon Wongpaet
update vizcard
|
13
|
connection.requestSoapToSACF = async function (req,soap,cmd,myMethod) {
|
c4a567d0
sumatek
merge
|
14
15
16
17
18
19
20
21
|
try {
log.log("Connect to SACF")
var service = cfg.service.SACF;
var retry = service[myMethod+"_"+cmd+"_Retry"];
var params = {
url : service[myMethod+"_"+cmd+"_URL"],
|
1b5ca11b
Nattapon Wongpaet
update vizcard
|
22
|
body : messageSOAP.objectToSOAP(soap,cmd),
|
c4a567d0
sumatek
merge
|
23
24
25
26
|
method : myMethod,
timeout : cfg.service.SACF[myMethod+"_"+cmd+"_Timeout"]*1000
}
|
dd6ce15e
sumatek
add customer
|
27
|
log.log("requestData : "+JSON.stringify(params))
|
c4a567d0
sumatek
merge
|
28
|
|
b5fbb064
Nattapon Wongpaet
update log debug
|
29
|
if(!retry)
|
c4a567d0
sumatek
merge
|
30
31
|
retry = cfg.Default_Retry;
|
60cef8c8
sumatek
update timeout
|
32
|
var objectData = {
|
c4a567d0
sumatek
merge
|
33
34
35
36
37
|
maxRetry : retry,
curRetry : 1
}
|
72409a48
sumatek
update log
|
38
|
|
c4a567d0
sumatek
merge
|
39
40
|
var funStats = {
start : function(){
|
72409a48
sumatek
update log
|
41
42
43
44
|
stats.sendSACFRequest(service.Name,cmd);
log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,soap);
},
end : function(){
|
80e43dc0
sumatek
update soap connect
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
// stats.sendSACFRequest(service.Name,cmd);
// log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,soap);
},
// error : function(response){log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);}
};
var result = await asyncRequest(params,objectData,funStats);
// return checkResponse(result,funStats);
return result;
}
catch(err) {
log.log(err);
var result = {
response : constants.RESPONSECONN.MESSAGE.ERROR
};
return result;
}
};
connection.requestJsonToD01 = async function (req,obj,cmd,myMethod,filter) {
try {
log.log("Connect to D01")
if(myMethod === constants.METHOD.POST)
obj.dateCreate = moment().format("YYYY-MM-DDTHH:mm:ss+0700");
var service = cfg.service.D01;
var retry = service[myMethod+"_"+cmd+"_Retry"];
if(!retry)
retry = cfg.Default_Retry;
var objectData = {
maxRetry : retry,
curRetry : 1
}
// JSON.stringify(json)
var params = {
url : service[myMethod+"_"+cmd+"_URL"],
body : obj,
method : myMethod,
timeout : service[myMethod+"_"+cmd+"_Timeout"]*1000
|
72409a48
sumatek
update log
|
92
93
|
}
|
c4a567d0
sumatek
merge
|
94
|
log.log("requestData : "+JSON.stringify(params))
|
dd6ce15e
sumatek
add customer
|
95
|
|
b5fbb064
Nattapon Wongpaet
update log debug
|
96
|
var funStats = {
|
c4a567d0
sumatek
merge
|
97
|
start : function(){
|
60cef8c8
sumatek
update timeout
|
98
|
stats.sendRestRequest(service.Name,myMethod,cmd);
|
72409a48
sumatek
update log
|
99
100
|
log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,obj);
},
|
60cef8c8
sumatek
update timeout
|
101
|
end : function(resultObj){
|
c4a567d0
sumatek
merge
|
102
103
|
var returnData = {};
|
e2039477
Nattapon Wongpaet
update log
|
104
|
|
c4a567d0
sumatek
merge
|
105
106
107
108
|
if(resultObj.err)
{
//connect err => retry
var response = {};
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
109
|
if(resultObj.err.code == constants.RESPONSECONN.STATS.ETIMEDOUT){
|
c4a567d0
sumatek
merge
|
110
|
response = constants.RESPONSECONN.MESSAGE.ETIMEDOUT;
|
dd6ce15e
sumatek
add customer
|
111
|
} else if(resultObj.err.code == constants.RESPONSECONN.STATS.ECONNREFUSED){
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
112
|
response = constants.RESPONSECONN.MESSAGE.ECONNREFUSED;
|
9d8ce483
Nattapon Wongpaet
update url put
|
113
|
} else if(resultObj.err.code == constants.RESPONSECONN.STATS.ESOCKETTIMEDOUT){
|
c4a567d0
sumatek
merge
|
114
115
116
|
response = constants.RESPONSECONN.MESSAGE.ESOCKETTIMEDOUT;
}
|
60cef8c8
sumatek
update timeout
|
117
|
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.ERROR);
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
118
119
120
|
log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,response);
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);
|
c4a567d0
sumatek
merge
|
121
122
123
124
|
returnData.retry = true;
returnData.response = constants.RESPONSECONN.MESSAGE.ERROR;
}else
{
|
60cef8c8
sumatek
update timeout
|
125
|
if(!resultObj.response)
|
c4a567d0
sumatek
merge
|
126
127
128
129
|
{
//no response data => retry
var response = constants.RESPONSERESULT.ERROR;
stats.receiveBadRestResponse(service.Name,myMethod,cmd);
|
dd6ce15e
sumatek
add customer
|
130
|
log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,response);
|
c4a567d0
sumatek
merge
|
131
132
133
134
135
136
137
|
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);
returnData.retry = true;
returnData.response = response;
}else
{
try
|
b5fbb064
Nattapon Wongpaet
update log debug
|
138
|
{
|
c4a567d0
sumatek
merge
|
139
|
var result = JSON.parse(resultObj.body);
|
60cef8c8
sumatek
update timeout
|
140
|
|
c4a567d0
sumatek
merge
|
141
|
log.log('ResponseData : ' + resultObj.body);
|
72409a48
sumatek
update log
|
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
if(!result.resultCode || !result.resultDescription)
{
//Missing resultCode or resultDescription => retry
log.log("Missing resultCode or resultDescription");
var response = result;
stats.receiveBadRestResponse(service.Name,myMethod,cmd);
log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,response);
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);
returnData.retry = true;
returnData.response = response;
returnData.err = constants.RESPONSERESULT.MISSING_INVALID.developerMessage;
}else
{
//check normal
var response = result;
log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,result);
if(result.resultCode.startsWith("2"))
{
if(myMethod == constants.METHOD.GET){
if(result.resultData && result.resultData.length>0)
{
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.SUCCESS);
|
80e43dc0
sumatek
update soap connect
|
167
168
|
log.addSuccessSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,constants.SUCCESS);
}else
|
72409a48
sumatek
update log
|
169
170
171
172
173
174
175
176
177
178
179
|
{
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,constants.RESPONSERESULT.DATA_NOT_FOUND.resultCode,constants.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
}
} else {
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.SUCCESS);
log.addSuccessSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,constants.SUCCESS);
}
returnData.retry = false;
returnData.response = response;
|
80e43dc0
sumatek
update soap connect
|
180
181
|
// returnData.err = response.resultDescription;
} else if(result.resultCode.startsWith("404")){
|
72409a48
sumatek
update log
|
182
183
184
185
186
|
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,result.developerMessage);
returnData.retry = false;
returnData.response = response;
|
887b2ec5
Nattapon Wongpaet
update put customer
|
187
188
|
// returnData.err = response.resultDescription;
} else if(result.resultCode.startsWith("5")){
|
72409a48
sumatek
update log
|
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.ERROR);
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,result.developerMessage);
//retry
returnData.retry = true;
returnData.response = response;
// returnData.err = response.resultDescription;
} else {
stats.receiveRestResponse(service.Name,myMethod,cmd,constants.ERROR);
log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,result.developerMessage);
//retry
returnData.retry = true;
returnData.response = response;
// returnData.err = response.resultDescription;
}
}
}catch(err) {
// returnData.response = constants.RESPONSERESULT.ERROR;
returnData.err = constants.RESPONSERESULT.ERROR;
|
887b2ec5
Nattapon Wongpaet
update put customer
|
210
211
212
213
214
215
216
217
218
219
220
|
returnData.retry = true;
}
}
}
return returnData;
}
};
|
72409a48
sumatek
update log
|
221
222
|
|
72409a48
sumatek
update log
|
223
224
225
226
|
var result = {};
result.response = {};
var resultData = [];
|
887b2ec5
Nattapon Wongpaet
update put customer
|
227
|
|
72409a48
sumatek
update log
|
228
229
230
231
232
233
|
if(params.method == constants.METHOD.GET)
{
if(filter && filter == "or"){
var genUrl = getOrUrl(params);
}
else{
|
887b2ec5
Nattapon Wongpaet
update put customer
|
234
|
var genUrl = getUrl(params,service["searchRecordLimit"]);
|
72409a48
sumatek
update log
|
235
236
237
238
239
240
241
|
}
if(genUrl.length > 1)
{
console.log("multi Send");
var multiSend = [];
for(var i=0;i<genUrl.length;i++)
|
887b2ec5
Nattapon Wongpaet
update put customer
|
242
|
multiSend.push({url:genUrl[i],method:params.method});
|
72409a48
sumatek
update log
|
243
244
245
246
247
248
249
|
var parallelRes = await parallelRequest(multiSend,objectData,funStats);
var dataRes = {};
for(var i=0;i<multiSend.length;i++)
{
// console.log("start loop");
|
887b2ec5
Nattapon Wongpaet
update put customer
|
250
|
var loopRes = parallelRes[i];
|
72409a48
sumatek
update log
|
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
|
if(loopRes.response)
{
// var data = JSON.parse(loopRes.response);
var data = loopRes.response;
dataRes[i] = {};
if(!data.resultCode)
dataRes[i].err = "Miss resultCode";
if(!data.resultDescription)
dataRes[i].err = "Miss resultDescription"
dataRes[i].data = data.resultData;
|
c4a567d0
sumatek
merge
|
267
|
// console.log(dataRes[i].data);
|
a55a3d02
Nattapon Wongpaet
update post custo...
|
268
|
|
c4a567d0
sumatek
merge
|
269
|
}
|
3cac9636
Nattapon Wongpaet
update post customer
|
270
|
|
c4a567d0
sumatek
merge
|
271
272
|
}
|
fbd30c50
sumatek
update fix bug ur...
|
273
|
for (var i = 0; i < multiSend.length; i++) {
|
9354f8c5
sumatek
fix bug
|
274
|
|
c4a567d0
sumatek
merge
|
275
276
|
resultData = resultData.concat(dataRes[i].data);
if(dataRes[i].err)
|
b77690fa
Nattapon Wongpaet
update post custo...
|
277
278
279
280
281
282
283
|
result.err = dataRes[i].err;
}
if(!result.err)
{
|
c4a567d0
sumatek
merge
|
284
|
result.response = constants.RESPONSECONN.MESSAGE.SUCCESS;
|
a1f044d9
sumatek
update parallel
|
285
|
result.response.resultData = resultData;
|
c4a567d0
sumatek
merge
|
286
287
288
289
290
291
292
293
294
|
// result.response.resultCode = "20000";
// result.response.developerMessage = "Success";
}
}else
{
// console.log("single Send");
params.url = genUrl[0];
delete params.body;
|
a1f044d9
sumatek
update parallel
|
295
|
|
c4a567d0
sumatek
merge
|
296
297
298
299
300
|
result = await asyncRequest(params,objectData,funStats);
// var resultRes = await asyncRequest(params,objectData,funStats);
// // console.log(resultRes);
// if(resultRes.response)
|
887b2ec5
Nattapon Wongpaet
update put customer
|
301
302
|
// {
// var data = JSON.parse(resultRes.response.body);
|
c4a567d0
sumatek
merge
|
303
|
// result.response = data;
|
a1f044d9
sumatek
update parallel
|
304
|
|
c4a567d0
sumatek
merge
|
305
306
|
// } else {
// result = resultRes;
|
a1f044d9
sumatek
update parallel
|
307
|
// }
|
c4a567d0
sumatek
merge
|
308
309
|
}
|
a1f044d9
sumatek
update parallel
|
310
|
|
c4a567d0
sumatek
merge
|
311
|
} else if(params.method == constants.METHOD.POST) {
|
fbd30c50
sumatek
update fix bug ur...
|
312
|
|
c4a567d0
sumatek
merge
|
313
|
params.body = JSON.stringify(params.body);
|
fbd30c50
sumatek
update fix bug ur...
|
314
|
result = await asyncRequest(params,objectData,funStats);
|
b77690fa
Nattapon Wongpaet
update post custo...
|
315
|
// var resultRes = await asyncRequest(params,objectData,funStats);
|
c4a567d0
sumatek
merge
|
316
317
|
// if(resultRes.response){
|
a1f044d9
sumatek
update parallel
|
318
319
|
// result.response = JSON.parse(resultRes.body);
// } else {
|
c4a567d0
sumatek
merge
|
320
321
|
// result = resultRes;
// }
|
fbd30c50
sumatek
update fix bug ur...
|
322
|
} else if(params.method == constants.METHOD.PUT) {
|
c4a567d0
sumatek
merge
|
323
324
|
params.url = getUrlFilter(params.url,filter);
|
fbd30c50
sumatek
update fix bug ur...
|
325
326
|
params.body = JSON.stringify(params.body);
|
c4a567d0
sumatek
merge
|
327
|
|
a1f044d9
sumatek
update parallel
|
328
|
|
c4a567d0
sumatek
merge
|
329
330
331
|
result = await asyncRequest(params,objectData,funStats);
// var resultRes = await asyncRequest(params,objectData,funStats);
|
fbd30c50
sumatek
update fix bug ur...
|
332
|
|
c4a567d0
sumatek
merge
|
333
334
335
|
// if(resultRes.response){
// result.response = JSON.parse(resultRes.body);
// } else {
|
9354f8c5
sumatek
fix bug
|
336
|
// result = resultRes;
|
c4a567d0
sumatek
merge
|
337
|
// }
|
a1f044d9
sumatek
update parallel
|
338
|
}
|
c4a567d0
sumatek
merge
|
339
340
341
342
|
console.log(result);
// if(result.response)
|
72409a48
sumatek
update log
|
343
344
|
// {
// if(!result.response.resultCode){
|
c4a567d0
sumatek
merge
|
345
|
// result.err = "Missing resultCode";
|
72409a48
sumatek
update log
|
346
347
348
349
350
|
// } else if(!result.response.resultDescription){
// result.err = "Missing resultDescription";
// }
// }
|
c4a567d0
sumatek
merge
|
351
|
// return checkResponse(result,funStats);
|
72409a48
sumatek
update log
|
352
353
354
|
return result;
|
a1f044d9
sumatek
update parallel
|
355
356
357
|
}
catch(err) {
log.log(err);
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
358
|
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
359
|
var result = {
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
360
|
response : constants.RESPONSECONN.MESSAGE.ERROR
|
72409a48
sumatek
update log
|
361
362
363
364
365
366
367
368
|
};
return result;
}
};
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
369
370
|
async function parallelRequest(multiParams,objectData,funStat)
{
|
9d8ce483
Nattapon Wongpaet
update url put
|
371
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
372
|
var promises = [];
|
c4a567d0
sumatek
merge
|
373
|
|
a1f044d9
sumatek
update parallel
|
374
|
for(var i=0;i<multiParams.length;i++)
|
72409a48
sumatek
update log
|
375
376
377
378
|
promises.push(asyncRequest (multiParams[i],objectData,funStat));
var res = await Promise.all(promises);
// for(var i=0;i<res.length;i++)
|
9d8ce483
Nattapon Wongpaet
update url put
|
379
|
// {
|
72409a48
sumatek
update log
|
380
381
382
383
384
|
// if(!res[i].err)
// {
// console.log(res[i].body);
// }
// // stats.receiveResponse(node,cmd,"Success");
|
a1f044d9
sumatek
update parallel
|
385
|
|
9354f8c5
sumatek
fix bug
|
386
|
|
f9d80b22
Nattapon Wongpaet
update header viz...
|
387
|
// }
|
a1f044d9
sumatek
update parallel
|
388
|
|
72409a48
sumatek
update log
|
389
390
391
392
393
394
395
396
|
return res;
}
function asyncRequest (params = {},objectData,funStat) {
// console.log(objectData);
|
3cac9636
Nattapon Wongpaet
update post customer
|
397
|
|
72409a48
sumatek
update log
|
398
399
400
|
// console.log("Start : "+new Date().toISOString());
return new Promise((resolve, reject) => {
|
5198016b
sumatek
update build message
|
401
|
request(params, function (error, response, body) {
|
9354f8c5
sumatek
fix bug
|
402
|
|
c4a567d0
sumatek
merge
|
403
404
|
funStat.start();
log.log("URL : "+params.url);
|
a1f044d9
sumatek
update parallel
|
405
|
|
c4a567d0
sumatek
merge
|
406
407
408
409
|
if (error) {
// if(objectData.maxRetry == objectData.curRetry-1)
// {
|
3cac9636
Nattapon Wongpaet
update post customer
|
410
|
|
c4a567d0
sumatek
merge
|
411
|
// resolve({
|
dd6ce15e
sumatek
add customer
|
412
413
|
// 'body' : body,
// 'err' : error
|
a1f044d9
sumatek
update parallel
|
414
|
// });
|
479b9d98
sumatek
update use constants
|
415
|
// }else
|
60cef8c8
sumatek
update timeout
|
416
|
// {
|
a1f044d9
sumatek
update parallel
|
417
|
// var responseObj = {
|
787e24ad
sumatek
update async func...
|
418
419
420
|
// 'body' : body,
// 'err' : error
// };
|
a1f044d9
sumatek
update parallel
|
421
|
|
60cef8c8
sumatek
update timeout
|
422
|
|
787e24ad
sumatek
update async func...
|
423
424
|
// if(funStat.end(responseObj))
// {
|
60cef8c8
sumatek
update timeout
|
425
426
427
|
// objectData.curRetry++;
// resolve(asyncRequest(params,objectData,funStat));
// }
|
fbd30c50
sumatek
update fix bug ur...
|
428
429
430
431
432
|
// }
|
a1f044d9
sumatek
update parallel
|
433
|
} else {
|
60cef8c8
sumatek
update timeout
|
434
|
|
787e24ad
sumatek
update async func...
|
435
|
|
fbd30c50
sumatek
update fix bug ur...
|
436
|
// var responseObj = {
|
787e24ad
sumatek
update async func...
|
437
438
|
// 'body' : body,
// 'response' : response
|
a1f044d9
sumatek
update parallel
|
439
440
|
// };
// resolve(funStat.end(responseObj));
|
60cef8c8
sumatek
update timeout
|
441
442
443
|
}
var responseObj = {
|
fbd30c50
sumatek
update fix bug ur...
|
444
|
'body' : body,
|
dd6ce15e
sumatek
add customer
|
445
|
'response' : response,
|
787e24ad
sumatek
update async func...
|
446
|
'err' : error
|
dd6ce15e
sumatek
add customer
|
447
448
449
|
};
var result = funStat.end(responseObj);
|
fbd30c50
sumatek
update fix bug ur...
|
450
451
452
|
if(result.retry)
{
|
dd6ce15e
sumatek
add customer
|
453
|
if(objectData.maxRetry == objectData.curRetry-1)
|
60cef8c8
sumatek
update timeout
|
454
|
resolve(result);
|
72409a48
sumatek
update log
|
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
|
else
{
objectData.curRetry++;
resolve(asyncRequest(params,objectData,funStat));
}
}else
resolve(result);
});
});
};
function getUrlFilter(url,filter){
var returnData = [];
var myfilter = ""
for(var i in filter){
myfilter += "("+i+"="+filter[i]+")"
}
var myUrl = url+"?filter=(&"+myfilter+")"
|
787e24ad
sumatek
update async func...
|
477
|
|
60cef8c8
sumatek
update timeout
|
478
479
|
// var myUrl = url+"?filter=("+filter.base+")";
|
72409a48
sumatek
update log
|
480
481
482
483
484
485
486
487
|
returnData.push(myUrl);
return myUrl;
}
function getUrl(params,limit)
{
var returnData = [];
|
dd6ce15e
sumatek
add customer
|
488
|
var url = params.url;
|
72409a48
sumatek
update log
|
489
490
491
492
493
494
|
var fields = "";
var filter = {
base : "",
multi : []
};
|
887b2ec5
Nattapon Wongpaet
update put customer
|
495
|
|
72409a48
sumatek
update log
|
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
|
// params.body = {};
// params.body.a = "aaa";
// params.body.b = "bbb";
// params.body.papa = [];
// params.body.papa.push("1");
// params.body.papa.push("2");
// params.body.commandId = [];
// params.body.commandId.push("1");
// params.body.commandId.push("2");
// params.body.commandId.push("3");
// params.body.commandId.push("4");
// params.body.commandId.push("5");
// params.body.commandId.push("6");
// params.body.commandId.push("7");
// params.body.commandId.push("8");
|
dd6ce15e
sumatek
add customer
|
511
512
513
514
|
// params.body.c = "ccc";
// params.body.fields = "a,b,c,d";
// params.body.customerId = ["1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6","1b6a768e52e9a1e11518a1c6"];
// limit = 100;
|
9d8ce483
Nattapon Wongpaet
update url put
|
515
516
517
518
519
|
// console.log(params.body);
if(params.body)
{
var first = true;
for (key in params.body) {
|
887b2ec5
Nattapon Wongpaet
update put customer
|
520
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
521
522
|
if(key == "fields")
fields = getFields(params.body.fields,first);
|
887b2ec5
Nattapon Wongpaet
update put customer
|
523
|
else
|
9d8ce483
Nattapon Wongpaet
update url put
|
524
525
526
527
|
filter = getFilter(filter,key,params.body[key]);
first = false;
}
|
9d8ce483
Nattapon Wongpaet
update url put
|
528
529
530
531
|
if(first)
fields += "?limit="+limit;
else
|
5198016b
sumatek
update build message
|
532
|
fields += "&limit="+limit;
|
81e85e64
sumatek
update customer
|
533
|
|
a1f044d9
sumatek
update parallel
|
534
|
}
|
81e85e64
sumatek
update customer
|
535
536
|
if(filter.multi.length > 0)
|
5198016b
sumatek
update build message
|
537
538
539
540
541
|
{
//have multi
var careData = filter.multi[0];
// console.log(freeSpace);
|
d46c5802
sumatek
up date for conne...
|
542
|
|
03f3be38
Nattapon Wongpaet
fix bugs
|
543
|
for(var i=0;i<filter.multi.length;i++)
|
84646faa
sumatek
update connection
|
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
|
{
if(filter.multi[i].length > careData.length)
{
filter.base = filter.base+"(|"+careData.data+")";
careData = filter.multi[i];
}
}
var myUrl = url+"?filter=:"+filter.base+":"+fields;
var freeSpace = cfg.Uri_length - myUrl.length;
var arr = careData.data.split(")(");
|
03f3be38
Nattapon Wongpaet
fix bugs
|
560
561
562
|
for(var j=0;j<arr.length;j++)
{
if(j==0)
|
81e85e64
sumatek
update customer
|
563
564
565
566
567
568
569
570
|
arr[j] = arr[j].substring(1);
if(j==arr.length-1)
arr[j] = arr[j].substring(0,arr[j].length-1);
arr[j] = "("+arr[j]+")";
// returnData.push(url+"?filter=("+newBasefilter+"(|"+arr[j]+")"+fields);
}
|
79d9e534
Nattapon Wongpaet
update post customer
|
571
|
returnData = arrayUrl(returnData,url,filter.base,fields,freeSpace,arr);
|
81e85e64
sumatek
update customer
|
572
573
574
|
|
5198016b
sumatek
update build message
|
575
576
|
}else
{
|
79d9e534
Nattapon Wongpaet
update post customer
|
577
|
var myUrl = url+"?filter=("+filter.base+")"+fields;
|
5198016b
sumatek
update build message
|
578
|
returnData.push(myUrl);
|
79d9e534
Nattapon Wongpaet
update post customer
|
579
|
}
|
81e85e64
sumatek
update customer
|
580
|
|
81e85e64
sumatek
update customer
|
581
582
|
// console.log(url);
// console.log(filter);
|
5198016b
sumatek
update build message
|
583
|
// console.log(fields);
|
a1f044d9
sumatek
update parallel
|
584
|
|
5198016b
sumatek
update build message
|
585
|
// for(var i=0;i<returnData.length;i++)
|
a1f044d9
sumatek
update parallel
|
586
|
// log.log("URL "+[i+1]+" : "+returnData[i]);
|
5198016b
sumatek
update build message
|
587
588
|
return returnData;
|
a1f044d9
sumatek
update parallel
|
589
|
}
|
5198016b
sumatek
update build message
|
590
|
|
a1f044d9
sumatek
update parallel
|
591
|
function getOrUrl(params){
|
5198016b
sumatek
update build message
|
592
593
594
595
596
597
|
var returnData = [];
var url = params.url;
var filter = "";
for(var i in params.body){
filter = filter + "(" +i+ "=" +params.body[i]+ ")"
|
a1f044d9
sumatek
update parallel
|
598
|
}
|
5198016b
sumatek
update build message
|
599
600
|
url = url + "filter(|" + filter + ")";
|
fbd30c50
sumatek
update fix bug ur...
|
601
|
|
5198016b
sumatek
update build message
|
602
|
returnData.push(url);
|
a1f044d9
sumatek
update parallel
|
603
|
|
a1f044d9
sumatek
update parallel
|
604
|
return returnData;
|
5198016b
sumatek
update build message
|
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
|
}
function getFields(fields,first)
{
var returnData;
var prefix;
if(first)
prefix = "?fields=";
else
prefix = "&fields=";
returnData = prefix+fields;
return returnData;
}
function getFilter(filter,key,data)
{
// console.log(key);
// console.log(newfilter);
if(!Array.isArray(data))
|
81e85e64
sumatek
update customer
|
627
628
|
{
|
5198016b
sumatek
update build message
|
629
|
// var newfilter = {
|
81e85e64
sumatek
update customer
|
630
631
|
// data : "("+key+"="+data+")",
// type : "single",
|
fbd30c50
sumatek
update fix bug ur...
|
632
633
|
// length : ("("+key+"="+data+")").length
// };
|
5198016b
sumatek
update build message
|
634
|
|
a1f044d9
sumatek
update parallel
|
635
|
if(filter.base != "")
|
81e85e64
sumatek
update customer
|
636
637
|
filter.base = filter.base+"("+key+"="+data+")";
else
|
b77690fa
Nattapon Wongpaet
update post custo...
|
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
|
filter.base = "&"+filter.base+"("+key+"="+data+")";
}else
{
var line = "";
for(var i=0;i<data.length;i++)
{
line += "("+key+"="+data[i]+")";
}
var newfilter = {
data : line,
length : line.length
};
}
if(newfilter)
|
81e85e64
sumatek
update customer
|
654
655
656
657
658
659
660
661
662
663
664
665
666
|
filter.multi.push(newfilter);
return filter;
}
function arrayUrl(arrUrl,url,filter,fields,freeSpace,arrData)
{
var loopUrl = "";
var loopSpace = freeSpace;
for(var i=0;i<arrData.length;i++)
{
if(loopSpace > (arrData[i].length+3))
{
loopUrl = loopUrl + arrData[i];
|
dd6ce15e
sumatek
add customer
|
667
|
loopSpace = loopSpace - arrData[i].length;
|
79d9e534
Nattapon Wongpaet
update post customer
|
668
|
}else
|
81e85e64
sumatek
update customer
|
669
|
{
|
5198016b
sumatek
update build message
|
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
|
if(loopUrl != "")
{
arrUrl.push(url+"?filter=("+filter+"(|"+loopUrl+"))"+fields);
loopUrl = arrData[i];
loopSpace = freeSpace - arrData[i].length;
}
}
}
if(loopUrl != "")
arrUrl.push(url+"?filter=("+filter+"(|"+loopUrl+"))"+fields);
return arrUrl;
}
|
d46c5802
sumatek
up date for conne...
|
686
687
|
// function checkResponse(result,funStats)
|
5198016b
sumatek
update build message
|
688
689
690
691
692
693
694
695
696
697
|
// {
// if(result.err)
// {
// log.log("Final Response : "+result.err,'error');
// if(result.err.code == constants.RESPONSECONN.STATS.ETIMEDOUT){
// result.response = constants.RESPONSECONN.MESSAGE.ETIMEDOUT;
// } else if(result.err.code == constants.RESPONSECONN.STATS.ECONNREFUSED){
// result.response = constants.RESPONSECONN.MESSAGE.ECONNREFUSED;
// } else if(result.err.code == constants.RESPONSECONN.STATS.ESOCKETTIMEDOUT){
// result.response = constants.RESPONSECONN.MESSAGE.ESOCKETTIMEDOUT;
|
d46c5802
sumatek
up date for conne...
|
698
|
// } else {
|
5198016b
sumatek
update build message
|
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
|
// if(result.err.resultDescription && result.err.resultDescription.indexOf(constants.RESPONSECONN.STATS.MISSING) != -1){
// result.response.resultCode = constants.RESPONSERESULT.MISSING_INVALID.resultCode;
// result.response.resultDescription = result.err;
// } else {
// result.response = constants.RESPONSECONN.MESSAGE.ERROR;
// }
// }
// funStats.error(result.response)
// }else
// log.log("Final Response : "+JSON.stringify(result));
// return result;
// }
module.exports = connection;
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
5198016b
sumatek
update build message
|
|
|
3aa57883
Nattapon Wongpaet
fix bug
|
|
|
5198016b
sumatek
update build message
|
|
|
81e85e64
sumatek
update customer
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
72409a48
sumatek
update log
|
|
|
479b9d98
sumatek
update use constants
|
|
|
dd6ce15e
sumatek
add customer
|
|
|