1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/main/router/write-server-response.ts
Sebastian Malton fdae7870da Fix faking lensFetch
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-19 09:37:26 -05:00

35 lines
862 B
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type { ServerResponse } from "http";
import { object } from "../../common/utils";
export interface LensServerResponse {
statusCode: number;
content: unknown;
headers: Partial<Record<string, string | string[]>>;
}
export const writeServerResponseFor = (serverResponse: ServerResponse) => ({
statusCode,
content,
headers,
}: LensServerResponse) => {
serverResponse.statusCode = statusCode;
for (const [name, value] of object.entries(headers)) {
serverResponse.setHeader(name, value);
}
if (content instanceof Buffer) {
serverResponse.write(content);
serverResponse.end();
} else if (content) {
serverResponse.end(content);
} else {
serverResponse.end();
}
};