INNER CODE UNIT · TypeScript
serializeBody
stoplightio/prism · packages/http/src/forwarder/index.ts:109
export function serializeBody(body: unknown): E.Either<Error, string | undefined> {
if (typeof body === 'string') {
return E.right(body);
}
if (body) return pipe(J.stringify(body), E.mapLeft(E.toError));
return E.right(undefined);
}
function logForwardRequest({ logger, url, request }: { logger: Logger; url: string; request: IHttpRequest }) {
const prefix = `${chalk.grey('> ')}`;
logger.info(`${prefix}Forwarding "${request.method}" request to ${url}...`);
logRequest({ logger, prefix, ...pick(request, 'body', 'headers') });
}
function forwardResponseLogger(logger: Logger) {
return (response: Response) => {