From 7c0ea851509a30c24b85c7751ef2c31d1b0942d0 Mon Sep 17 00:00:00 2001 From: Tiberiu Sabau Date: Mon, 2 Feb 2026 12:43:13 +0100 Subject: [PATCH 1/2] Refactor rendercode.ts to remove duplicates --- packages/cli/src/inbox/rendercode.ts | 30 +++++++++++++--------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/packages/cli/src/inbox/rendercode.ts b/packages/cli/src/inbox/rendercode.ts index 52e01ec5..d12d8e5b 100644 --- a/packages/cli/src/inbox/rendercode.ts +++ b/packages/cli/src/inbox/rendercode.ts @@ -6,33 +6,31 @@ export async function renderRequest(request: Request): Promise { // @ts-ignore: Work around `deno publish --dry-run` bug request = request.clone(); const url = new URL(request.url); - let code = `${request.method} ${url.pathname + url.search}\n`; - for (const [key, value] of request.headers.entries()) { - code += `${capitalize(key)}: ${value}\n`; - } - let body: string; - try { - body = await request.text(); - } catch (_) { - body = "[Failed to decode body; it may be binary.]"; - } - code += `\n${body}`; - return code; + const statusLine = `${request.method} ${url.pathname + url.search}`; + return await render(request, statusLine); } export async function renderResponse(response: Response): Promise { response = response.clone(); - let code = `${response.status} ${ + const statusLine = `${response.status} ${ response.statusText === "" ? getStatusText(response.status) : response.statusText - }\n`; - for (const [key, value] of response.headers.entries()) { + }`; + return await render(response, statusLine); +} + +async function render( + requestOrResponse: Request | Response, + statusLine: string, +): Promise { + let code = `${statusLine}\n`; + for (const [key, value] of requestOrResponse.headers.entries()) { code += `${capitalize(key)}: ${value}\n`; } let body: string; try { - body = await response.text(); + body = await requestOrResponse.text(); } catch (_) { body = "[Failed to decode body; it may be binary.]"; } From 26ac72c6fa079c3292fd9a806aff064384e608f1 Mon Sep 17 00:00:00 2001 From: Tiberiu Sabau Date: Mon, 2 Feb 2026 13:17:34 +0100 Subject: [PATCH 2/2] Remove async --- packages/cli/src/inbox/rendercode.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/inbox/rendercode.ts b/packages/cli/src/inbox/rendercode.ts index d12d8e5b..738b7e77 100644 --- a/packages/cli/src/inbox/rendercode.ts +++ b/packages/cli/src/inbox/rendercode.ts @@ -2,22 +2,22 @@ import type { Activity } from "@fedify/vocab"; import { getStatusText } from "@poppanator/http-constants"; import { getContextLoader } from "../docloader.ts"; -export async function renderRequest(request: Request): Promise { +export function renderRequest(request: Request): Promise { // @ts-ignore: Work around `deno publish --dry-run` bug request = request.clone(); const url = new URL(request.url); const statusLine = `${request.method} ${url.pathname + url.search}`; - return await render(request, statusLine); + return render(request, statusLine); } -export async function renderResponse(response: Response): Promise { +export function renderResponse(response: Response): Promise { response = response.clone(); const statusLine = `${response.status} ${ response.statusText === "" ? getStatusText(response.status) : response.statusText }`; - return await render(response, statusLine); + return render(response, statusLine); } async function render(