UNPKG

@mochabug/adaptkit

Version:

A cmd to create, emulate and publish Mochabug Adapt plugins

46 lines (44 loc) 1.29 kB
import { ConnectError, mapConnectErrorToHttpStatus, } from "@mochabug/adapt-plugin-toolkit/api"; import { ExternalExecutorRouter, InternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router'; export default { external: new ExternalExecutorRouter() .useRequestLogging() .useBearerAuthorization(['/api']) .useErrorHandling(async (e) => { console.error(e); if (e instanceof ConnectError) { return new Response(null, { status: mapConnectErrorToHttpStatus(e) }); } return new Response(null, { status: 500, statusText: 'Internal server error' }); }) .add('*', '(.*)', async (_req, _api, _route, _ctx) => { return new Response(); }), internal: new InternalExecutorRouter() .onStart(async (start, _api) => { console.log('Start has been called'); console.log(start); }) .onStop(async (stop, _api) => { console.log('Stop has been called'); console.log(stop); }) .onExchange(async (res, _api, name) => { console.log(`Exchange ${name} has been called`); console.log(res); }) .onCron(async (cron, api, ctx) => { console.log('Received cron event'); ctx.waitUntil(api.send('output', {})); console.log(cron); }) };