summaryrefslogtreecommitdiff
path: root/server/mod.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/mod.ts')
-rw-r--r--server/mod.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/server/mod.ts b/server/mod.ts
index 9dc57aa..1fd4e99 100644
--- a/server/mod.ts
+++ b/server/mod.ts
@@ -5,12 +5,18 @@ export * from "./health.ts";
export * from "./job.ts";
import { CiHookServer } from "./mod.ts";
+import { Either, type IEither } from "@emprespresso/pengueno";
const server = new CiHookServer();
-export const runServer = (port: number, host: string) => {
+export const runServer = (
+ port: number,
+ host: string,
+): Promise<IEither<Error, void>> => {
const serverConfig = {
host,
port,
};
- return Deno.serve(serverConfig, (req) => server.serve(req)).finished;
+ return Either.fromFailable<Error, Deno.HttpServer>(() =>
+ Deno.serve(serverConfig, (req) => server.serve(req)),
+ ).flatMapAsync((server) => Either.fromFailableAsync(server.finished));
};