diff options
Diffstat (limited to 'server/mod.ts')
-rw-r--r-- | server/mod.ts | 10 |
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)); }; |