HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //var/www/api.javaapp.co.uk/node_modules/@smithy/node-http-handler/dist-es/server.mock.js
import { readFileSync } from "fs";
import { createServer as createHttpServer } from "http";
import { createServer as createHttp2Server } from "http2";
import { createServer as createHttpsServer } from "https";
import { join } from "path";
import { Readable } from "stream";
const fixturesDir = join(__dirname, "..", "fixtures");
const setResponseHeaders = (response, headers) => {
    for (const [key, value] of Object.entries(headers)) {
        response.setHeader(key, value);
    }
};
const setResponseBody = (response, body) => {
    if (body instanceof Readable) {
        body.pipe(response);
    }
    else {
        response.end(body);
    }
};
export const createResponseFunction = (httpResp) => (request, response) => {
    response.statusCode = httpResp.statusCode;
    setResponseHeaders(response, httpResp.headers);
    setResponseBody(response, httpResp.body);
};
export const createResponseFunctionWithDelay = (httpResp, delay) => (request, response) => {
    response.statusCode = httpResp.statusCode;
    setResponseHeaders(response, httpResp.headers);
    setTimeout(() => setResponseBody(response, httpResp.body), delay);
};
export const createContinueResponseFunction = (httpResp) => (request, response) => {
    response.writeContinue();
    setTimeout(() => {
        createResponseFunction(httpResp)(request, response);
    }, 100);
};
export const createMockHttpsServer = () => {
    const server = createHttpsServer({
        key: readFileSync(join(fixturesDir, "test-server-key.pem")),
        cert: readFileSync(join(fixturesDir, "test-server-cert.pem")),
    });
    return server;
};
export const createMockHttpServer = () => {
    const server = createHttpServer();
    return server;
};
export const createMockHttp2Server = () => {
    const server = createHttp2Server();
    return server;
};
export const createMirrorResponseFunction = (httpResp) => (request, response) => {
    const bufs = [];
    request.on("data", (chunk) => {
        bufs.push(chunk);
    });
    request.on("end", () => {
        response.statusCode = httpResp.statusCode;
        setResponseHeaders(response, httpResp.headers);
        setResponseBody(response, Buffer.concat(bufs));
    });
    request.on("error", (err) => {
        response.statusCode = 500;
        setResponseHeaders(response, httpResp.headers);
        setResponseBody(response, err.message);
    });
};
export const getResponseBody = (response) => {
    return new Promise((resolve, reject) => {
        const bufs = [];
        response.body.on("data", function (d) {
            bufs.push(d);
        });
        response.body.on("end", function () {
            resolve(Buffer.concat(bufs).toString());
        });
        response.body.on("error", (err) => {
            reject(err);
        });
    });
};