qcobjects-cli 2.3.50 → 2.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yml +12 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- package/.github/ISSUE_TEMPLATE/custom.md +10 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- package/.github/ISSUE_TEMPLATE/issue-template.md +33 -0
- package/.github/workflows/codeql-analysis.yml +71 -0
- package/.github/workflows/npmpublish-beta.yml +38 -0
- package/.github/workflows/npmpublish-lts.yml +38 -0
- package/.github/workflows/npmpublish-main.yml +38 -0
- package/.gitlab-ci.yml +3 -2
- package/VERSION +1 -1
- package/backend/com.qcobjects.backend.microservice.static.js +40 -24
- package/backend/org.qcobjects.backend.php.js +149 -116
- package/{org.quickcorp.qcobjects.cli.commands.jira.client_services.js → com.qcobjects.cli.commands.jira.client_services.js} +29 -22
- package/{org.quickcorp.qcobjects.cli.commands.jira.js → com.qcobjects.cli.commands.jira.js} +77 -60
- package/{org.quickcorp.qcobjects.cli.commands.js → com.qcobjects.cli.commands.js} +3 -3
- package/com.qcobjects.cli.commands.version.js +285 -0
- package/org.qcobjects.common.pipelog.js +55 -0
- package/org.qcobjects.enterprise.commands.js +149 -139
- package/org.quickcorp.qcobjects.api.client_services.js +31 -20
- package/org.quickcorp.qcobjects.cli.js +288 -275
- package/org.quickcorp.qcobjects.collab.server.js +317 -308
- package/org.quickcorp.qcobjects.defaultsettings.js +1 -1
- package/org.quickcorp.qcobjects.main.file.js +100 -79
- package/org.quickcorp.qcobjects.main.http.gae.server.js +264 -232
- package/org.quickcorp.qcobjects.main.http.server.js +155 -145
- package/org.quickcorp.qcobjects.main.http2.server.js +198 -191
- package/package.json +18 -10
- package/qcobjects-cli.js +8 -11
- package/qcobjects-collab.js +8 -6
- package/qcobjects-createcert.js +28 -16
- package/qcobjects-gae-http-server.js +8 -5
- package/qcobjects-http-server.js +7 -5
- package/qcobjects-http2-server.js +8 -5
- package/qcobjects-shell.js +113 -107
- package/org.quickcorp.qcobjects.cli.commands.version.js +0 -267
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* QCObjects CLI 2.
|
|
2
|
+
* QCObjects CLI 2.4.x
|
|
3
3
|
* ________________
|
|
4
4
|
*
|
|
5
5
|
* Author: Jean Machuca <correojean@gmail.com>
|
|
@@ -36,6 +36,8 @@ const absolutePath = path.resolve( __dirname, "./" );
|
|
|
36
36
|
const fs = require("fs");
|
|
37
37
|
const mime = require("mime");
|
|
38
38
|
require(absolutePath+"/org.quickcorp.qcobjects.main.file.js");
|
|
39
|
+
require(absolutePath+ "/org.qcobjects.common.pipelog.js");
|
|
40
|
+
|
|
39
41
|
|
|
40
42
|
let ImportMicroservice = function (microservicePackage){
|
|
41
43
|
var standardPath = findPackageNodePath(microservicePackage) || findPackageNodePath(microservicePackage+".js");
|
|
@@ -47,14 +49,50 @@ let ImportMicroservice = function (microservicePackage){
|
|
|
47
49
|
};
|
|
48
50
|
|
|
49
51
|
Package("org.quickcorp.qcobjects.main.http.server",[
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
|
|
53
|
+
class BackendMicroservice extends InheritClass {
|
|
54
|
+
constructor({
|
|
55
|
+
domain=CONFIG.get("domain"),
|
|
56
|
+
basePath=CONFIG.get("basePath"),
|
|
57
|
+
body=null,
|
|
58
|
+
stream=null,
|
|
59
|
+
server=null,
|
|
60
|
+
request=null
|
|
61
|
+
}){
|
|
62
|
+
super(...arguments);
|
|
63
|
+
|
|
64
|
+
logger.debug("Executing Legacy HTTP BackendMicroservice ");
|
|
65
|
+
let microservice = this;
|
|
66
|
+
this.cors();
|
|
67
|
+
microservice.req.on("data", (data) => {
|
|
68
|
+
// data from POST, GET
|
|
69
|
+
var requestMethod = request.method.toLowerCase();
|
|
70
|
+
var supportedMethods = {"post":microservice.post,
|
|
71
|
+
};
|
|
72
|
+
if (supportedMethods.hasOwnProperty.call(supportedMethods,requestMethod)) {
|
|
73
|
+
supportedMethods[requestMethod].call(microservice,data);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// data from POST, GET
|
|
78
|
+
var requestMethod = request.method.toLowerCase();
|
|
79
|
+
var supportedMethods = {"get":microservice.get,
|
|
80
|
+
"head":microservice.head,
|
|
81
|
+
"put":microservice.put,
|
|
82
|
+
"delete":microservice.delete,
|
|
83
|
+
"connect":microservice.connect,
|
|
84
|
+
"options":microservice.options,
|
|
85
|
+
"trace":microservice.trace,
|
|
86
|
+
"patch":microservice.patch
|
|
87
|
+
};
|
|
88
|
+
if (supportedMethods.hasOwnProperty.call(supportedMethods,requestMethod)) {
|
|
89
|
+
supportedMethods[requestMethod].call(microservice);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
cors(){
|
|
58
96
|
if (this.route.cors){
|
|
59
97
|
let {allow_origins,allow_credentials,allow_methods,allow_headers} = this.route.cors;
|
|
60
98
|
var microservice = this;
|
|
@@ -93,56 +131,24 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
93
131
|
microservice.headers["Access-Control-Allow-Headers"] = "*";
|
|
94
132
|
}
|
|
95
133
|
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
var supportedMethods = {"post":microservice.post,
|
|
107
|
-
};
|
|
108
|
-
if (supportedMethods.hasOwnProperty.call(supportedMethods,requestMethod)) {
|
|
109
|
-
supportedMethods[requestMethod].call(microservice,data);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
// data from POST, GET
|
|
114
|
-
var requestMethod = request.method.toLowerCase();
|
|
115
|
-
var supportedMethods = {"get":microservice.get,
|
|
116
|
-
"head":microservice.head,
|
|
117
|
-
"put":microservice.put,
|
|
118
|
-
"delete":microservice.delete,
|
|
119
|
-
"connect":microservice.connect,
|
|
120
|
-
"options":microservice.options,
|
|
121
|
-
"trace":microservice.trace,
|
|
122
|
-
"patch":microservice.patch
|
|
123
|
-
};
|
|
124
|
-
if (supportedMethods.hasOwnProperty.call(supportedMethods,requestMethod)) {
|
|
125
|
-
supportedMethods[requestMethod].call(microservice);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
},
|
|
129
|
-
head:function (formData){this.done();},
|
|
130
|
-
post:function (formData){this.done();},
|
|
131
|
-
put:function (formData){this.done();},
|
|
132
|
-
delete:function (formData){this.done();},
|
|
133
|
-
connect:function (formData){this.done();},
|
|
134
|
-
options:function (formData){this.done();},
|
|
135
|
-
trace:function (formData){this.done();},
|
|
136
|
-
patch:function (formData){this.done();},
|
|
137
|
-
finishWithBody:function (stream){
|
|
134
|
+
}
|
|
135
|
+
head(formData){this.done();}
|
|
136
|
+
post(formData){this.done();}
|
|
137
|
+
put(formData){this.done();}
|
|
138
|
+
delete(formData){this.done();}
|
|
139
|
+
connect(formData){this.done();}
|
|
140
|
+
options(formData){this.done();}
|
|
141
|
+
trace(formData){this.done();}
|
|
142
|
+
patch(formData){this.done();}
|
|
143
|
+
finishWithBody(stream){
|
|
138
144
|
try {
|
|
139
145
|
stream.write(JSON.stringify(this.body));
|
|
140
146
|
stream.end();
|
|
141
147
|
} catch (e){
|
|
142
148
|
logger.debug("Something wrong writing the response for microservice"+e.toString());
|
|
143
149
|
}
|
|
144
|
-
}
|
|
145
|
-
done
|
|
150
|
+
}
|
|
151
|
+
done(){
|
|
146
152
|
var microservice = this;
|
|
147
153
|
var stream = microservice.stream;
|
|
148
154
|
try {
|
|
@@ -155,33 +161,30 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
155
161
|
microservice.finishWithBody.call(microservice,stream);
|
|
156
162
|
}
|
|
157
163
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
},
|
|
168
|
+
|
|
169
|
+
class HTTPServerResponse extends InheritClass {
|
|
170
|
+
constructor ({
|
|
171
|
+
headers={
|
|
172
|
+
":status": 200,
|
|
173
|
+
"content-type": "text/html"
|
|
174
|
+
},
|
|
175
|
+
body="",
|
|
176
|
+
request=null,
|
|
177
|
+
fileDispatcher=null,
|
|
178
|
+
stream=null
|
|
179
|
+
}){
|
|
180
|
+
super(...arguments);
|
|
181
|
+
var self = this;
|
|
182
|
+
self.stream = self.stream;
|
|
183
|
+
self._generateResponse();
|
|
184
|
+
|
|
174
185
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
headers:{
|
|
178
|
-
":status": 200,
|
|
179
|
-
"content-type": "text/html"
|
|
180
|
-
},
|
|
181
|
-
body:"",
|
|
182
|
-
request:null,
|
|
183
|
-
fileDispatcher:null,
|
|
184
|
-
sendFile: function (stream, fileName) {
|
|
186
|
+
|
|
187
|
+
sendFile(stream, fileName) {
|
|
185
188
|
// read and send file content in the stream
|
|
186
189
|
|
|
187
190
|
try {
|
|
@@ -232,13 +235,13 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
232
235
|
stream.end();
|
|
233
236
|
}
|
|
234
237
|
}
|
|
235
|
-
}
|
|
236
|
-
_generateResponse
|
|
238
|
+
}
|
|
239
|
+
_generateResponse(){
|
|
237
240
|
var response = this;
|
|
238
241
|
response.fileDispatcher = New(FileDispatcher,{
|
|
239
242
|
scriptname:response.request.scriptname,
|
|
240
243
|
pathname:response.request.pathname,
|
|
241
|
-
done
|
|
244
|
+
done(headers,body,templateURI,isTemplate){
|
|
242
245
|
response.headers = headers;
|
|
243
246
|
var stream = response.stream;
|
|
244
247
|
if (isTemplate){
|
|
@@ -257,69 +260,44 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
257
260
|
}
|
|
258
261
|
});
|
|
259
262
|
|
|
260
|
-
}
|
|
261
|
-
_new_:function (o){
|
|
262
|
-
var self = this;
|
|
263
|
-
self.body = "";
|
|
264
|
-
self.stream = o.stream;
|
|
265
|
-
self._generateResponse();
|
|
263
|
+
}
|
|
266
264
|
|
|
265
|
+
},
|
|
266
|
+
|
|
267
|
+
class HTTPServerRequest extends InheritClass {
|
|
268
|
+
constructor ({
|
|
269
|
+
scriptname="",
|
|
270
|
+
path="",
|
|
271
|
+
method="",
|
|
272
|
+
url="",
|
|
273
|
+
headers=null,
|
|
274
|
+
flags=null,
|
|
275
|
+
protocol= null,
|
|
276
|
+
slashes= null,
|
|
277
|
+
auth= null,
|
|
278
|
+
host= null,
|
|
279
|
+
port= null,
|
|
280
|
+
hostname= null,
|
|
281
|
+
hash= null,
|
|
282
|
+
search= "",
|
|
283
|
+
query= "",
|
|
284
|
+
pathname= "",
|
|
285
|
+
href= ""
|
|
286
|
+
}){
|
|
287
|
+
super(...arguments);
|
|
267
288
|
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
port: null,
|
|
281
|
-
hostname: null,
|
|
282
|
-
hash: null,
|
|
283
|
-
search: "",
|
|
284
|
-
query: "",
|
|
285
|
-
pathname: "",
|
|
286
|
-
href: ""
|
|
287
|
-
}),
|
|
288
|
-
Class("HTTPServer",{
|
|
289
|
-
request:null,
|
|
290
|
-
response:"",
|
|
291
|
-
server:null,
|
|
292
|
-
scriptname:"",
|
|
293
|
-
interceptorInstances:[],
|
|
294
|
-
showIPAddress:function (){
|
|
295
|
-
var _ret_ = "";
|
|
296
|
-
var os = require("os");
|
|
297
|
-
var ifaces = os.networkInterfaces();
|
|
298
|
-
Object.keys(ifaces).forEach(function (iface){
|
|
299
|
-
ifaces[iface].map(function (ipGroup){
|
|
300
|
-
_ret_ += iface +": " + PipeLog.pipe(ipGroup)+"\n";
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
return _ret_;
|
|
304
|
-
},
|
|
305
|
-
showPossibleURL: function (){
|
|
306
|
-
var _ret_ = "";
|
|
307
|
-
var os = require("os");
|
|
308
|
-
var ifaces = os.networkInterfaces();
|
|
309
|
-
Object.keys(ifaces).forEach(function (iface){
|
|
310
|
-
ifaces[iface].map(function (ipGroup){
|
|
311
|
-
if (ipGroup["family"].toLowerCase()=="ipv4"){
|
|
312
|
-
_ret_ += "http://"+ipGroup["address"]+":"+CONFIG.get("serverPortHTTP").toString()+"/\n";
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
});
|
|
316
|
-
return _ret_;
|
|
317
|
-
},
|
|
318
|
-
start:function (){
|
|
319
|
-
var server = this.server;
|
|
320
|
-
server.listen(process.env.PORT || CONFIG.get("serverPortHTTP"));
|
|
321
|
-
},
|
|
322
|
-
_new_:function (){
|
|
289
|
+
},
|
|
290
|
+
|
|
291
|
+
class HTTPServer extends InheritClass {
|
|
292
|
+
constructor ({
|
|
293
|
+
request=null,
|
|
294
|
+
response="",
|
|
295
|
+
server=null,
|
|
296
|
+
scriptname="",
|
|
297
|
+
interceptorInstances=[]
|
|
298
|
+
}){
|
|
299
|
+
super(...arguments);
|
|
300
|
+
|
|
323
301
|
let oHTTPServer = this;
|
|
324
302
|
const welcometo = "Welcome to \n";
|
|
325
303
|
const instructions = "QCObjects Legacy HTTPServer \n";
|
|
@@ -404,7 +382,7 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
404
382
|
}
|
|
405
383
|
this.request.pathname = this.request.pathname.substr(0,this.request.pathname.lastIndexOf("/"));
|
|
406
384
|
|
|
407
|
-
logger.debug(PipeLog.pipe(this.request));
|
|
385
|
+
logger.debug((new PipeLog()).pipe(this.request));
|
|
408
386
|
|
|
409
387
|
if (global.get("backendAvailable")){
|
|
410
388
|
logger.info("Backend Legacy Microservices Available");
|
|
@@ -450,5 +428,37 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
450
428
|
});
|
|
451
429
|
|
|
452
430
|
}
|
|
453
|
-
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
showIPAddress(){
|
|
434
|
+
var _ret_ = "";
|
|
435
|
+
var os = require("os");
|
|
436
|
+
var ifaces = os.networkInterfaces();
|
|
437
|
+
Object.keys(ifaces).forEach(function (iface){
|
|
438
|
+
ifaces[iface].map(function (ipGroup){
|
|
439
|
+
_ret_ += iface +": " + (new PipeLog()).pipe(ipGroup)+"\n";
|
|
440
|
+
});
|
|
441
|
+
});
|
|
442
|
+
return _ret_;
|
|
443
|
+
}
|
|
444
|
+
showPossibleURL(){
|
|
445
|
+
var _ret_ = "";
|
|
446
|
+
var os = require("os");
|
|
447
|
+
var ifaces = os.networkInterfaces();
|
|
448
|
+
Object.keys(ifaces).forEach(function (iface){
|
|
449
|
+
ifaces[iface].map(function (ipGroup){
|
|
450
|
+
if (ipGroup["family"].toLowerCase()=="ipv4"){
|
|
451
|
+
_ret_ += "http://"+ipGroup["address"]+":"+CONFIG.get("serverPortHTTP").toString()+"/\n";
|
|
452
|
+
}
|
|
453
|
+
});
|
|
454
|
+
});
|
|
455
|
+
return _ret_;
|
|
456
|
+
}
|
|
457
|
+
start(){
|
|
458
|
+
var server = this.server;
|
|
459
|
+
server.listen(process.env.PORT || CONFIG.get("serverPortHTTP"));
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
}
|
|
463
|
+
|
|
454
464
|
]);
|