(port, message)
| 556 | } |
| 557 | |
| 558 | function sendTcpMessageToPort(port, message) { |
| 559 | return new Promise((resolve) => { |
| 560 | const socket = net.createConnection({ host: "127.0.0.1", port }); |
| 561 | let settled = false; |
| 562 | let response = ""; |
| 563 | const settle = (value) => { |
| 564 | if (settled) { |
| 565 | return; |
| 566 | } |
| 567 | settled = true; |
| 568 | clearTimeout(timer); |
| 569 | socket.destroy(); |
| 570 | resolve(value); |
| 571 | }; |
| 572 | const timer = setTimeout(() => { |
| 573 | settle(false); |
| 574 | }, 500); |
| 575 | socket.once("connect", () => { |
| 576 | socket.end(message); |
| 577 | }); |
| 578 | socket.on("data", (data) => { |
| 579 | response += data.toString("utf8"); |
| 580 | if (response.trim().startsWith("OK")) { |
| 581 | settle(true); |
| 582 | } else if (response.trim().startsWith("ERROR")) { |
| 583 | settle(false); |
| 584 | } |
| 585 | }); |
| 586 | socket.once("error", () => { |
| 587 | settle(false); |
| 588 | }); |
| 589 | socket.once("close", () => { |
| 590 | settle(response.trim().startsWith("OK")); |
| 591 | }); |
| 592 | }); |
| 593 | } |
| 594 | |
| 595 | function appContainerPath(context) { |
| 596 | if (context.containerPath) { |
no test coverage detected