aboutsummaryrefslogtreecommitdiff
path: root/deno/mail-relay/app.ts
diff options
context:
space:
mode:
Diffstat (limited to 'deno/mail-relay/app.ts')
-rw-r--r--deno/mail-relay/app.ts28
1 files changed, 11 insertions, 17 deletions
diff --git a/deno/mail-relay/app.ts b/deno/mail-relay/app.ts
index 3cac44b..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(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,10 +77,8 @@ export async function sendMail(logger: Logger, port: number) {
method: "post",
body: text,
});
- logger.builder(res).setError(!res.ok).write();
- logger
- .builder("Body\n" + (await res.text()))
- .setError(!res.ok)
- .write();
+ const fn = res.ok ? "info" : "error";
+ console[fn](res);
+ console[fn](await res.text());
if (!res.ok) Deno.exit(-1);
}