diff options
Diffstat (limited to 'deno/mail-relay/app.ts')
-rw-r--r-- | deno/mail-relay/app.ts | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/deno/mail-relay/app.ts b/deno/mail-relay/app.ts index d96fa1d..eeffc12 100644 --- a/deno/mail-relay/app.ts +++ b/deno/mail-relay/app.ts @@ -1,7 +1,7 @@ import { Hono } from "hono"; import { logger as honoLogger } from "hono/logger"; -import { Logger } from "@crupest/base/log"; +import { LogFileProvider } from "@crupest/base/log"; import { AliasRecipientMailHook, @@ -13,7 +13,7 @@ import { DovecotMailDeliverer } from "./dovecot.ts"; import { DumbSmtpServer } from "./dumb-smtp-server.ts"; export function createInbound( - logger: Logger, + logFileProvider: LogFileProvider, { fallback, mailDomain, @@ -26,7 +26,7 @@ export function createInbound( ldaPath: string; }, ) { - const deliverer = new DovecotMailDeliverer(logger, ldaPath); + const deliverer = new DovecotMailDeliverer(logFileProvider, ldaPath); deliverer.preHooks.push( new RecipientFromHeadersHook(mailDomain), new FallbackRecipientHook(new Set(fallback)), @@ -35,15 +35,11 @@ export function createInbound( return deliverer; } -export function createHono( - logger: Logger, - outbound: MailDeliverer, - inbound: MailDeliverer, -) { +export function createHono(outbound: MailDeliverer, inbound: MailDeliverer) { const hono = new Hono(); hono.onError((err, c) => { - logger.error("Hono handler throws an error.", err); + console.error("Hono handler throws an error.", err); return c.json({ msg: "Server error, check its log." }, 500); }); hono.use(honoLogger()); @@ -66,11 +62,11 @@ export function createHono( return hono; } -export function createSmtp(logger: Logger, outbound: MailDeliverer) { - return new DumbSmtpServer(logger, outbound); +export function createSmtp(outbound: MailDeliverer) { + return new DumbSmtpServer(outbound); } -export async function sendMail(logger: Logger, port: number) { +export async function sendMail(port: number) { const decoder = new TextDecoder(); let text = ""; for await (const chunk of Deno.stdin.readable) { @@ -81,9 +77,8 @@ export async function sendMail(logger: Logger, port: number) { method: "post", body: text, }); - logger.write(Deno.inspect(res), { level: res.ok ? "info" : "error" }); - logger.write(Deno.inspect(await res.text()), { - level: res.ok ? "info" : "error", - }); + const fn = res.ok ? "info" : "error"; + console[fn](res); + console[fn](await res.text()); if (!res.ok) Deno.exit(-1); } |