port provider

This commit is contained in:
Alex Holliday
2026-03-05 18:35:19 +00:00
parent 80603c9a42
commit 49672db563
3 changed files with 10 additions and 12 deletions
+4 -1
View File
@@ -81,6 +81,7 @@ import { AdvancedMatcher } from "@/service/infrastructure/network/AdvancedMatche
import { PageSpeedProvider } from "@/service/infrastructure/network/PageSpeedProvider.js";
import { HardwareProvider } from "@/service/infrastructure/network/HardwareProvider.js";
import { DockerProvider } from "@/service/infrastructure/network/DockerProvider.js";
import { PortProvider } from "@/service/infrastructure/network/PortProvider.js";
export type InitializedServices = {
settingsService: any;
@@ -157,6 +158,7 @@ export const initializeServices = async ({
const pageSpeedProvider = new PageSpeedProvider(httpProvider, settingsService, logger);
const hardwareProvider = new HardwareProvider(httpProvider);
const dockerProvider = new DockerProvider(logger, Docker);
const portProvider = new PortProvider(net);
const networkService = new NetworkService(
axios,
@@ -177,7 +179,8 @@ export const initializeServices = async ({
httpProvider,
pageSpeedProvider,
hardwareProvider,
dockerProvider
dockerProvider,
portProvider
);
const emailService = new EmailService(settingsService, fs, path, compile, mjml2html, nodemailer, logger);
@@ -62,10 +62,6 @@ export class PortProvider implements IStatusProvider<PortStatusPayload> {
responseTime: responseTime,
timings: undefined,
payload: { success: false },
jsonPath: monitor.jsonPath,
matchMethod: monitor.matchMethod,
expectedValue: monitor.expectedValue,
extracted: undefined,
};
}
@@ -79,10 +75,6 @@ export class PortProvider implements IStatusProvider<PortStatusPayload> {
responseTime: responseTime,
timings: undefined,
payload: { success: true },
jsonPath: monitor.jsonPath,
matchMethod: monitor.matchMethod,
expectedValue: monitor.expectedValue,
extracted: undefined,
};
} catch (err: unknown) {
const originalMessage = err instanceof Error ? err.message : String(err);
@@ -90,7 +82,7 @@ export class PortProvider implements IStatusProvider<PortStatusPayload> {
message: originalMessage || "Error performing port check",
status: 500,
service: SERVICE_NAME,
method: "requestPort",
method: "handle",
details: { url: monitor.url, port: monitor.port },
});
}
@@ -100,6 +100,7 @@ class NetworkService implements INetworkService {
private pageSpeedProvider;
private hardwareProvider;
private dockerProvider;
private portProvider;
private buildStatusResponse = <T>({
monitor,
@@ -174,7 +175,8 @@ class NetworkService implements INetworkService {
httpProvider: IStatusProvider<HttpStatusPayload>,
pagespeedProvider: IStatusProvider<PageSpeedStatusPayload>,
hardwareProvider: IStatusProvider<HardwareStatusPayload>,
dockerProvider: IStatusProvider<DockerStatusPayload>
dockerProvider: IStatusProvider<DockerStatusPayload>,
portProvider: IStatusProvider<PortStatusPayload>
) {
this.TYPE_PING = "ping";
this.TYPE_HTTP = "http";
@@ -205,6 +207,7 @@ class NetworkService implements INetworkService {
this.pageSpeedProvider = pagespeedProvider;
this.hardwareProvider = hardwareProvider;
this.dockerProvider = dockerProvider;
this.portProvider = portProvider;
const cacheable = new CacheableLookup();
this.got = got.extend({
@@ -261,7 +264,7 @@ class NetworkService implements INetworkService {
case this.TYPE_DOCKER:
return await this.dockerProvider.handle(monitor);
case this.TYPE_PORT:
return await this.requestPort(monitor);
return await this.portProvider.handle(monitor);
case this.TYPE_GAME:
return await this.requestGame(monitor);
case this.TYPE_GRPC: