99941cf4ed79aa21d266f965267d3865d8e5fdb9
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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) 
Christian Fraß [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'
Christian Fraß [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 = {}));