[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 1) /*
lib/plankton/comm-server/logic-impl.js 2) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 3)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 4) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 5) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 6)
lib/plankton/comm-server/logic-impl.js 7) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 8) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 9) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 10) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 11)
lib/plankton/comm-server/logic-impl.js 12) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 13) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 14) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 15) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 16)
lib/plankton/comm-server/logic-impl.js 17) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 18) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 19) */
lib/plankton/comm-server/logic-impl.js 20) /*
lib/plankton/comm-server/logic-impl.js 21) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 22)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 23) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 24) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 25)
lib/plankton/comm-server/logic-impl.js 26) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 27) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 28) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 29) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 30)
lib/plankton/comm-server/logic-impl.js 31) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 32) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 33) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 34) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 35)
lib/plankton/comm-server/logic-impl.js 36) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 37) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 38) */
lib/plankton/comm-server/logic-impl.js 39) var lib_comm;
lib/plankton/comm-server/logic-impl.js 40) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 41) /**
lib/plankton/comm-server/logic-impl.js 42) * @author fenris
lib/plankton/comm-server/logic-impl.js 43) */
lib/plankton/comm-server/logic-impl.js 44) lib_trait.define("comm-server", {
lib/plankton/comm-server/logic-impl.js 45) "state": null,
lib/plankton/comm-server/logic-impl.js 46) "message_in": null,
lib/plankton/comm-server/logic-impl.js 47) "message_out": null
lib/plankton/comm-server/logic-impl.js 48) }, {
lib/plankton/comm-server/logic-impl.js 49) "setup": {
lib/plankton/comm-server/logic-impl.js 50) "shape": {
lib/plankton/comm-server/logic-impl.js 51) "name": "function",
lib/plankton/comm-server/logic-impl.js 52) "parameters": {
lib/plankton/comm-server/logic-impl.js 53) "shape_input": {
lib/plankton/comm-server/logic-impl.js 54) "name": "variable",
lib/plankton/comm-server/logic-impl.js 55) "parameters": {
lib/plankton/comm-server/logic-impl.js 56) "name": "state"
lib/plankton/comm-server/logic-impl.js 57) }
lib/plankton/comm-server/logic-impl.js 58) },
lib/plankton/comm-server/logic-impl.js 59) "shape_output": {
lib/plankton/comm-server/logic-impl.js 60) "name": "function",
lib/plankton/comm-server/logic-impl.js 61) "parameters": {
lib/plankton/comm-server/logic-impl.js 62) "shape_input": {
lib/plankton/comm-server/logic-impl.js 63) "name": "any"
lib/plankton/comm-server/logic-impl.js 64) },
lib/plankton/comm-server/logic-impl.js 65) "shape_output": {
lib/plankton/comm-server/logic-impl.js 66) "name": "promise",
lib/plankton/comm-server/logic-impl.js 67) "parameters": {
lib/plankton/comm-server/logic-impl.js 68) "shape_result": {
lib/plankton/comm-server/logic-impl.js 69) "name": "variable",
lib/plankton/comm-server/logic-impl.js 70) "parameters": {
lib/plankton/comm-server/logic-impl.js 71) "name": "state"
lib/plankton/comm-server/logic-impl.js 72) }
lib/plankton/comm-server/logic-impl.js 73) },
lib/plankton/comm-server/logic-impl.js 74) "shape_reason": {
lib/plankton/comm-server/logic-impl.js 75) "name": "any"
lib/plankton/comm-server/logic-impl.js 76) }
lib/plankton/comm-server/logic-impl.js 77) }
lib/plankton/comm-server/logic-impl.js 78) }
lib/plankton/comm-server/logic-impl.js 79) }
lib/plankton/comm-server/logic-impl.js 80) }
lib/plankton/comm-server/logic-impl.js 81) }
lib/plankton/comm-server/logic-impl.js 82) }
lib/plankton/comm-server/logic-impl.js 83) },
lib/plankton/comm-server/logic-impl.js 84) "run": {
lib/plankton/comm-server/logic-impl.js 85) "shape": {
lib/plankton/comm-server/logic-impl.js 86) "name": "function",
lib/plankton/comm-server/logic-impl.js 87) "parameters": {
lib/plankton/comm-server/logic-impl.js 88) "shape_input": {
lib/plankton/comm-server/logic-impl.js 89) "name": "variable",
lib/plankton/comm-server/logic-impl.js 90) "parameters": {
lib/plankton/comm-server/logic-impl.js 91) "name": "state"
lib/plankton/comm-server/logic-impl.js 92) }
lib/plankton/comm-server/logic-impl.js 93) },
lib/plankton/comm-server/logic-impl.js 94) "shape_output": {
lib/plankton/comm-server/logic-impl.js 95) "name": "void"
lib/plankton/comm-server/logic-impl.js 96) }
lib/plankton/comm-server/logic-impl.js 97) }
lib/plankton/comm-server/logic-impl.js 98) }
lib/plankton/comm-server/logic-impl.js 99) }
lib/plankton/comm-server/logic-impl.js 100) });
lib/plankton/comm-server/logic-impl.js 101) })(lib_comm || (lib_comm = {}));
lib/plankton/comm-server/logic-impl.js 102) /*
lib/plankton/comm-server/logic-impl.js 103) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 104)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 105) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 106) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 107)
lib/plankton/comm-server/logic-impl.js 108) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 109) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 110) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 111) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 112)
lib/plankton/comm-server/logic-impl.js 113) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 114) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 115) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 116) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 117)
lib/plankton/comm-server/logic-impl.js 118) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 119) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 120) */
lib/plankton/comm-server/logic-impl.js 121) /*
lib/plankton/comm-server/logic-impl.js 122) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 123)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 124) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 125) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 126)
lib/plankton/comm-server/logic-impl.js 127) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 128) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 129) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 130) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 131)
lib/plankton/comm-server/logic-impl.js 132) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 133) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 134) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 135) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 136)
lib/plankton/comm-server/logic-impl.js 137) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 138) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 139) */
lib/plankton/comm-server/logic-impl.js 140) var lib_comm;
lib/plankton/comm-server/logic-impl.js 141) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 142) /**
lib/plankton/comm-server/logic-impl.js 143) * @author fenris
lib/plankton/comm-server/logic-impl.js 144) */
lib/plankton/comm-server/logic-impl.js 145) lib_comm.default_parameters_server_http = {
lib/plankton/comm-server/logic-impl.js 146) "protocol": "http",
lib/plankton/comm-server/logic-impl.js 147) "port": 80,
lib/plankton/comm-server/logic-impl.js 148) "headers": {
lib/plankton/comm-server/logic-impl.js 149) "Access-Control-Allow-Methods": "OPTIONS, POST",
lib/plankton/comm-server/logic-impl.js 150) "Access-Control-Allow-Origin": "*",
lib/plankton/comm-server/logic-impl.js 151) "Access-Control-Allow-Headers": "origin, content-type",
lib/plankton/comm-server/logic-impl.js 152) "Access-Control-Allow-Credentials": null,
lib/plankton/comm-server/logic-impl.js 153) "Content-Type": "plain/text; charset=utf-8",
lib/plankton/comm-server/logic-impl.js 154) }
lib/plankton/comm-server/logic-impl.js 155) };
lib/plankton/comm-server/logic-impl.js 156) })(lib_comm || (lib_comm = {}));
lib/plankton/comm-server/logic-impl.js 157) /*
lib/plankton/comm-server/logic-impl.js 158) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 159)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 160) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 161) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 162)
lib/plankton/comm-server/logic-impl.js 163) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 164) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 165) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 166) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 167)
lib/plankton/comm-server/logic-impl.js 168) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 169) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 170) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 171) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 172)
lib/plankton/comm-server/logic-impl.js 173) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 174) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 175) */
lib/plankton/comm-server/logic-impl.js 176) var lib_comm;
lib/plankton/comm-server/logic-impl.js 177) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 178) /**
lib/plankton/comm-server/logic-impl.js 179) * @author fenris
lib/plankton/comm-server/logic-impl.js 180) */
lib/plankton/comm-server/logic-impl.js 181) function server_http_construct(parameters = {}) {
lib/plankton/comm-server/logic-impl.js 182) return {
lib/plankton/comm-server/logic-impl.js 183) "parameters": lib_object.patched(lib_comm.default_parameters_server_http, parameters),
lib/plankton/comm-server/logic-impl.js 184) "answering": null,
lib/plankton/comm-server/logic-impl.js 185) "serverinstance": null,
lib/plankton/comm-server/logic-impl.js 186) };
lib/plankton/comm-server/logic-impl.js 187) }
lib/plankton/comm-server/logic-impl.js 188) lib_comm.server_http_construct = server_http_construct;
lib/plankton/comm-server/logic-impl.js 189) /**
lib/plankton/comm-server/logic-impl.js 190) * @author fenris
lib/plankton/comm-server/logic-impl.js 191) */
lib/plankton/comm-server/logic-impl.js 192) function server_http_setup(subject, answering) {
lib/plankton/comm-server/logic-impl.js 193) subject.answering = answering;
lib/plankton/comm-server/logic-impl.js 194) let factory;
lib/plankton/comm-server/logic-impl.js 195) switch (subject.parameters.protocol) {
lib/plankton/comm-server/logic-impl.js 196) case undefined:
lib/plankton/comm-server/logic-impl.js 197) case "http": {
lib/plankton/comm-server/logic-impl.js 198) factory = ((options, listener) => require("http").createServer(listener));
lib/plankton/comm-server/logic-impl.js 199) break;
lib/plankton/comm-server/logic-impl.js 200) }
lib/plankton/comm-server/logic-impl.js 201) case "https": {
lib/plankton/comm-server/logic-impl.js 202) factory = ((options, listener) => require("https").createServer(options, listener));
lib/plankton/comm-server/logic-impl.js 203) break;
lib/plankton/comm-server/logic-impl.js 204) }
lib/plankton/comm-server/logic-impl.js 205) default: {
lib/plankton/comm-server/logic-impl.js 206) return lib_call.promise_reject(new Error(`no module for protocol '${subject.parameters.protocol}'`));
lib/plankton/comm-server/logic-impl.js 207) break;
lib/plankton/comm-server/logic-impl.js 208) }
lib/plankton/comm-server/logic-impl.js 209) }
lib/plankton/comm-server/logic-impl.js 210) const listener = (request, response) => {
lib/plankton/comm-server/logic-impl.js 211) // headers
lib/plankton/comm-server/logic-impl.js 212) {
lib/plankton/comm-server/logic-impl.js 213) Object.keys(subject.parameters.headers)
lib/plankton/comm-server/logic-impl.js 214) .forEach((name) => {
lib/plankton/comm-server/logic-impl.js 215) const value = subject.parameters.headers[name];
lib/plankton/comm-server/logic-impl.js 216) if (value != null) {
lib/plankton/comm-server/logic-impl.js 217) response.setHeader(name, value);
lib/plankton/comm-server/logic-impl.js 218) }
lib/plankton/comm-server/logic-impl.js 219) });
lib/plankton/comm-server/logic-impl.js 220) }
lib/plankton/comm-server/logic-impl.js 221) let message = null;
lib/plankton/comm-server/logic-impl.js 222) request.on("data", (buffer) => {
lib/plankton/comm-server/logic-impl.js 223) message = buffer.toString();
lib/plankton/comm-server/logic-impl.js 224) });
lib/plankton/comm-server/logic-impl.js 225) request.on("end", () => {
lib/plankton/comm-server/logic-impl.js 226) switch (request.method) {
lib/plankton/comm-server/logic-impl.js 227) case "OPTIONS": {
lib/plankton/comm-server/logic-impl.js 228) response.writeHead(200);
lib/plankton/comm-server/logic-impl.js 229) response.end("options-echo");
lib/plankton/comm-server/logic-impl.js 230) break;
lib/plankton/comm-server/logic-impl.js 231) }
lib/plankton/comm-server/logic-impl.js 232) case "POST": {
lib/plankton/comm-server/logic-impl.js 233) lib_call.promise_then_close(subject.answering(message), (answer) => {
lib/plankton/comm-server/logic-impl.js 234) response.writeHead(answer.code);
lib/plankton/comm-server/logic-impl.js 235) response.end(answer.text);
lib/plankton/comm-server/logic-impl.js 236) }, (error) => {
lib/plankton/comm-server/logic-impl.js 237) console.error(error);
lib/plankton/comm-server/logic-impl.js 238) response.writeHead(500);
lib/plankton/comm-server/logic-impl.js 239) response.end("internal error");
lib/plankton/comm-server/logic-impl.js 240) });
lib/plankton/comm-server/logic-impl.js 241) break;
lib/plankton/comm-server/logic-impl.js 242) }
lib/plankton/comm-server/logic-impl.js 243) default: {
lib/plankton/comm-server/logic-impl.js 244) response.writeHead(500);
lib/plankton/comm-server/logic-impl.js 245) response.end(`unhandled method ${request.method}`);
lib/plankton/comm-server/logic-impl.js 246) break;
lib/plankton/comm-server/logic-impl.js 247) }
lib/plankton/comm-server/logic-impl.js 248) }
lib/plankton/comm-server/logic-impl.js 249) });
lib/plankton/comm-server/logic-impl.js 250) };
lib/plankton/comm-server/logic-impl.js 251) const _fs = require("fs");
lib/plankton/comm-server/logic-impl.js 252) let options = {};
lib/plankton/comm-server/logic-impl.js 253) if (subject.parameters.ssl_key !== undefined) {
lib/plankton/comm-server/logic-impl.js 254) options["key"] = _fs.readFileSync(subject.parameters.ssl_key);
lib/plankton/comm-server/logic-impl.js 255) }
lib/plankton/comm-server/logic-impl.js 256) if (subject.parameters.ssl_cert !== undefined) {
lib/plankton/comm-server/logic-impl.js 257) options["cert"] = _fs.readFileSync(subject.parameters.ssl_cert);
lib/plankton/comm-server/logic-impl.js 258) }
lib/plankton/comm-server/logic-impl.js 259) if (subject.parameters.ssl_ca !== undefined) {
lib/plankton/comm-server/logic-impl.js 260) options["ca"] = _fs.readFileSync(subject.parameters.ssl_ca);
lib/plankton/comm-server/logic-impl.js 261) }
lib/plankton/comm-server/logic-impl.js 262) // setup server instance
lib/plankton/comm-server/logic-impl.js 263) subject.serverinstance = factory(options, listener);
lib/plankton/comm-server/logic-impl.js 264) subject.serverinstance.on("clientError", (error, socket) => {
lib/plankton/comm-server/logic-impl.js 265) socket.end("HTTP/1.1 400 Bad Request\r\n\r\n");
lib/plankton/comm-server/logic-impl.js 266) });
lib/plankton/comm-server/logic-impl.js 267) return lib_call.promise_resolve(undefined);
lib/plankton/comm-server/logic-impl.js 268) }
lib/plankton/comm-server/logic-impl.js 269) lib_comm.server_http_setup = server_http_setup;
lib/plankton/comm-server/logic-impl.js 270) /**
lib/plankton/comm-server/logic-impl.js 271) * @author fenris
lib/plankton/comm-server/logic-impl.js 272) */
lib/plankton/comm-server/logic-impl.js 273) function server_http_run(subject) {
lib/plankton/comm-server/logic-impl.js 274) subject.serverinstance.listen(subject.parameters.port);
lib/plankton/comm-server/logic-impl.js 275) }
lib/plankton/comm-server/logic-impl.js 276) lib_comm.server_http_run = server_http_run;
lib/plankton/comm-server/logic-impl.js 277) })(lib_comm || (lib_comm = {}));
lib/plankton/comm-server/logic-impl.js 278) /*
lib/plankton/comm-server/logic-impl.js 279) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 280)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 281) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 282) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 283)
lib/plankton/comm-server/logic-impl.js 284) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 285) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 286) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 287) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 288)
lib/plankton/comm-server/logic-impl.js 289) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 290) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 291) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 292) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 293)
lib/plankton/comm-server/logic-impl.js 294) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 295) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 296) */
lib/plankton/comm-server/logic-impl.js 297) var lib_comm;
lib/plankton/comm-server/logic-impl.js 298) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 299) /**
lib/plankton/comm-server/logic-impl.js 300) * @author fenris
lib/plankton/comm-server/logic-impl.js 301) */
lib/plankton/comm-server/logic-impl.js 302) lib_trait.attend("comm-server", "http", {
lib/plankton/comm-server/logic-impl.js 303) "state": {
lib/plankton/comm-server/logic-impl.js 304) "name": "any"
lib/plankton/comm-server/logic-impl.js 305) },
lib/plankton/comm-server/logic-impl.js 306) "message_in": {
lib/plankton/comm-server/logic-impl.js 307) "name": "string"
lib/plankton/comm-server/logic-impl.js 308) },
lib/plankton/comm-server/logic-impl.js 309) "message_out": {
lib/plankton/comm-server/logic-impl.js 310) "name": "any" // type_response_http
lib/plankton/comm-server/logic-impl.js 311) }
lib/plankton/comm-server/logic-impl.js 312) }, {
lib/plankton/comm-server/logic-impl.js 313) "setup": () => (state) => (answering) => {
lib/plankton/comm-server/logic-impl.js 314) return lib_comm.server_http_setup(state, answering).then(() => lib_call.promise_resolve(state));
lib/plankton/comm-server/logic-impl.js 315) },
lib/plankton/comm-server/logic-impl.js 316) "run": () => (state) => {
lib/plankton/comm-server/logic-impl.js 317) return lib_comm.server_http_run(state);
lib/plankton/comm-server/logic-impl.js 318) }
lib/plankton/comm-server/logic-impl.js 319) });
lib/plankton/comm-server/logic-impl.js 320) })(lib_comm || (lib_comm = {}));
lib/plankton/comm-server/logic-impl.js 321) /*
lib/plankton/comm-server/logic-impl.js 322) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 323)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 324) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 325) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 326)
lib/plankton/comm-server/logic-impl.js 327) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 328) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 329) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 330) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 331)
lib/plankton/comm-server/logic-impl.js 332) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 333) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 334) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 335) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 336)
lib/plankton/comm-server/logic-impl.js 337) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 338) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 339) */
lib/plankton/comm-server/logic-impl.js 340) var lib_comm;
lib/plankton/comm-server/logic-impl.js 341) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 342) /**
lib/plankton/comm-server/logic-impl.js 343) * @author fenris
lib/plankton/comm-server/logic-impl.js 344) */
lib/plankton/comm-server/logic-impl.js 345) class class_server_http {
lib/plankton/comm-server/logic-impl.js 346) /**
lib/plankton/comm-server/logic-impl.js 347) * @author fenris
lib/plankton/comm-server/logic-impl.js 348) */
lib/plankton/comm-server/logic-impl.js 349) constructor(parameters = lib_comm.default_parameters_server_http) {
lib/plankton/comm-server/logic-impl.js 350) this.subject = lib_comm.server_http_construct(parameters);
lib/plankton/comm-server/logic-impl.js 351) }
lib/plankton/comm-server/logic-impl.js 352) /**
lib/plankton/comm-server/logic-impl.js 353) * @author fenris
lib/plankton/comm-server/logic-impl.js 354) * @implementation
lib/plankton/comm-server/logic-impl.js 355) */
lib/plankton/comm-server/logic-impl.js 356) setup(answering) {
lib/plankton/comm-server/logic-impl.js 357) return lib_comm.server_http_setup(this.subject, answering);
lib/plankton/comm-server/logic-impl.js 358) }
lib/plankton/comm-server/logic-impl.js 359) /**
lib/plankton/comm-server/logic-impl.js 360) * @author fenris
lib/plankton/comm-server/logic-impl.js 361) * @implementation
lib/plankton/comm-server/logic-impl.js 362) */
lib/plankton/comm-server/logic-impl.js 363) run() {
lib/plankton/comm-server/logic-impl.js 364) return lib_comm.server_http_run(this.subject);
lib/plankton/comm-server/logic-impl.js 365) }
lib/plankton/comm-server/logic-impl.js 366) }
lib/plankton/comm-server/logic-impl.js 367) lib_comm.class_server_http = class_server_http;
lib/plankton/comm-server/logic-impl.js 368) })(lib_comm || (lib_comm = {}));
lib/plankton/comm-server/logic-impl.js 369) /*
lib/plankton/comm-server/logic-impl.js 370) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 371)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 372) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 373) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 374)
lib/plankton/comm-server/logic-impl.js 375) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 376) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 377) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 378) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 379)
lib/plankton/comm-server/logic-impl.js 380) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 381) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 382) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 383) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 384)
lib/plankton/comm-server/logic-impl.js 385) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 386) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 387) */
lib/plankton/comm-server/logic-impl.js 388) var lib_comm;
lib/plankton/comm-server/logic-impl.js 389) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 390) /**
lib/plankton/comm-server/logic-impl.js 391) * @author fenris
lib/plankton/comm-server/logic-impl.js 392) */
lib/plankton/comm-server/logic-impl.js 393) class class_server_mhttp {
lib/plankton/comm-server/logic-impl.js 394) /**
lib/plankton/comm-server/logic-impl.js 395) * @author fenris
lib/plankton/comm-server/logic-impl.js 396) */
lib/plankton/comm-server/logic-impl.js 397) constructor(parameters = lib_comm.default_parameters_server_http) {
lib/plankton/comm-server/logic-impl.js 398) this.core = new lib_comm.class_server_http(parameters);
lib/plankton/comm-server/logic-impl.js 399) }
lib/plankton/comm-server/logic-impl.js 400) /**
lib/plankton/comm-server/logic-impl.js 401) * @author fenris
lib/plankton/comm-server/logic-impl.js 402) * @implementation
lib/plankton/comm-server/logic-impl.js 403) */
lib/plankton/comm-server/logic-impl.js 404) setup(answering) {
lib/plankton/comm-server/logic-impl.js 405) return (this.core.setup((message) => (answering(message)
lib/plankton/comm-server/logic-impl.js 406) .then((text) => {
lib/plankton/comm-server/logic-impl.js 407) let response = { "code": 200, "text": text };
lib/plankton/comm-server/logic-impl.js 408) return lib_call.promise_resolve(response);
lib/plankton/comm-server/logic-impl.js 409) }))));
lib/plankton/comm-server/logic-impl.js 410) }
lib/plankton/comm-server/logic-impl.js 411) /**
lib/plankton/comm-server/logic-impl.js 412) * @author fenris
lib/plankton/comm-server/logic-impl.js 413) * @implementation
lib/plankton/comm-server/logic-impl.js 414) */
lib/plankton/comm-server/logic-impl.js 415) run() {
lib/plankton/comm-server/logic-impl.js 416) this.core.run();
lib/plankton/comm-server/logic-impl.js 417) }
lib/plankton/comm-server/logic-impl.js 418) }
lib/plankton/comm-server/logic-impl.js 419) lib_comm.class_server_mhttp = class_server_mhttp;
lib/plankton/comm-server/logic-impl.js 420) })(lib_comm || (lib_comm = {}));
lib/plankton/comm-server/logic-impl.js 421) /*
lib/plankton/comm-server/logic-impl.js 422) This file is part of »bacterio-plankton:comm-server«.
lib/plankton/comm-server/logic-impl.js 423)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/comm-server/logic-impl.js 424) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/comm-server/logic-impl.js 425) <info@greenscale.de>
lib/plankton/comm-server/logic-impl.js 426)
lib/plankton/comm-server/logic-impl.js 427) »bacterio-plankton:comm-server« is free software: you can redistribute it and/or modify
lib/plankton/comm-server/logic-impl.js 428) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/comm-server/logic-impl.js 429) the Free Software Foundation, either version 3 of the License, or
lib/plankton/comm-server/logic-impl.js 430) (at your option) any later version.
lib/plankton/comm-server/logic-impl.js 431)
lib/plankton/comm-server/logic-impl.js 432) »bacterio-plankton:comm-server« is distributed in the hope that it will be useful,
lib/plankton/comm-server/logic-impl.js 433) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/comm-server/logic-impl.js 434) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/comm-server/logic-impl.js 435) GNU Lesser General Public License for more details.
lib/plankton/comm-server/logic-impl.js 436)
lib/plankton/comm-server/logic-impl.js 437) You should have received a copy of the GNU Lesser General Public License
lib/plankton/comm-server/logic-impl.js 438) along with »bacterio-plankton:comm-server«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/comm-server/logic-impl.js 439) */
lib/plankton/comm-server/logic-impl.js 440) var lib_comm;
lib/plankton/comm-server/logic-impl.js 441) (function (lib_comm) {
lib/plankton/comm-server/logic-impl.js 442) /**
lib/plankton/comm-server/logic-impl.js 443) * @desc wrapper for string-based servers
lib/plankton/comm-server/logic-impl.js 444) * @author fenris
lib/plankton/comm-server/logic-impl.js 445) */
lib/plankton/comm-server/logic-impl.js 446) class class_server_complex {
lib/plankton/comm-server/logic-impl.js 447) /**
lib/plankton/comm-server/logic-impl.js 448) * @author fenris
lib/plankton/comm-server/logic-impl.js 449) */
lib/plankton/comm-server/logic-impl.js 450) constructor(core, code = new lib_code.class_code_pair(new lib_code.class_code_json(), new lib_code.class_code_uri())) {
lib/plankton/comm-server/logic-impl.js 451) this.core = core;
lib/plankton/comm-server/logic-impl.js 452) this.code = code;
lib/plankton/comm-server/logic-impl.js 453) }
lib/plankton/comm-server/logic-impl.js 454) /**
lib/plankton/comm-server/logic-impl.js 455) * @author fenris
lib/plankton/comm-server/logic-impl.js 456) * @implementation
lib/plankton/comm-server/logic-impl.js 457) */
lib/plankton/comm-server/logic-impl.js 458) setup(answering) {
lib/plankton/comm-server/logic-impl.js 459) return (this.core.setup((message_in_raw) => {
lib/plankton/comm-server/logic-impl.js 460) const message_in = ((message_in_raw == null)
lib/plankton/comm-server/logic-impl.js 461) ? null
lib/plankton/comm-server/logic-impl.js 462) : this.code.decode(message_in_raw));
lib/plankton/comm-server/logic-impl.js 463) return (answering(message_in)
lib/plankton/comm-server/logic-impl.js 464) .then((message_out) => {
lib/plankton/comm-server/logic-impl.js 465) const message_out_raw = this.code.encode(message_out);
lib/plankton/comm-server/logic-impl.js 466) return lib_call.promise_resolve(message_out_raw);
lib/plankton/comm-server/logic-impl.js 467) }));
lib/plankton/comm-server/logic-impl.js 468) }));
lib/plankton/comm-server/logic-impl.js 469) }
lib/plankton/comm-server/logic-impl.js 470) /**
lib/plankton/comm-server/logic-impl.js 471) * @author fenris
lib/plankton/comm-server/logic-impl.js 472) * @implementation
lib/plankton/comm-server/logic-impl.js 473) */
lib/plankton/comm-server/logic-impl.js 474) run() {
lib/plankton/comm-server/logic-impl.js 475) this.core.run();
lib/plankton/comm-server/logic-impl.js 476) }
lib/plankton/comm-server/logic-impl.js 477) }
lib/plankton/comm-server/logic-impl.js 478) lib_comm.class_server_complex = class_server_complex;
lib/plankton/comm-server/logic-impl.js 479) })(lib_comm || (lib_comm = {}));
|