/** * @module Mockttp */ import { OngoingRequest } from "../types"; import { MockRuleData } from "../rules/mock-rule-types"; import { Mockttp, AbstractMockttp, MockttpOptions } from "../mockttp"; import { MockedEndpoint } from "./mocked-endpoint"; /** * A in-process Mockttp implementation. This starts servers on the local machine in the * current process, and exposes methods to directly manage them. * * This class does not work in browsers, as it expects to be able to start HTTP servers. */ export default class MockttpServer extends AbstractMockttp implements Mockttp { private rules; private httpsOptions; private app; private server; private eventEmitter; constructor(options?: MockttpOptions); start(portParam?: number): Promise; stop(): Promise; enableDebug(): void; reset(): void; readonly mockedEndpoints: MockedEndpoint[]; readonly url: string; readonly port: number; addRule: (ruleData: MockRuleData) => Promise; on(event: 'request', callback: (req: OngoingRequest) => void): Promise; private announceRequestAsync; private handleRequest; private isComplete; private explainRequest; private suggestRule; }