mirror of
https://github.com/186526/handlers.js
synced 2024-10-13 00:29:43 +00:00
72 lines
1.9 KiB
TypeScript
72 lines
1.9 KiB
TypeScript
import { rootRouter, method, handler, route, response } from '../index';
|
|
import errorHandler from './errorHandler';
|
|
|
|
const App = new rootRouter<any, any>();
|
|
|
|
App.binding(
|
|
'/(.*)',
|
|
new handler('ANY', [
|
|
async (request, _response) => {
|
|
console.log(request);
|
|
return undefined;
|
|
},
|
|
]),
|
|
);
|
|
|
|
App.binding(
|
|
'/',
|
|
App.create(
|
|
'ANY',
|
|
(): Promise<string> =>
|
|
new Promise(() => {
|
|
console.log('Hello World!');
|
|
throw new response('Hello World!');
|
|
}),
|
|
),
|
|
).binding(
|
|
'/(.*)',
|
|
App.create(
|
|
'ANY',
|
|
(): Promise<string> =>
|
|
new Promise((resolve) => {
|
|
resolve('Hello World?');
|
|
}),
|
|
),
|
|
);
|
|
|
|
App.route('/v1/(.*)')
|
|
.add(
|
|
new route(
|
|
['/echo', '/echo/(.*)'],
|
|
[
|
|
new handler(method['GET'], [
|
|
async (requestMessage, responseMessage) => {
|
|
responseMessage = responseMessage ?? new response('');
|
|
responseMessage?.headers.set('Hello', 'World');
|
|
responseMessage.body = requestMessage.url.pathname;
|
|
return responseMessage;
|
|
},
|
|
]),
|
|
new handler(method['POST'], [
|
|
async (requestMessage, responseMessage) => {
|
|
responseMessage = responseMessage ?? new response('');
|
|
responseMessage.body = requestMessage.body;
|
|
return responseMessage;
|
|
},
|
|
]),
|
|
],
|
|
),
|
|
)
|
|
.binding(
|
|
'/error',
|
|
App.create(method['ANY'], async () => {
|
|
throw new Error('Nothing will happen here.');
|
|
}),
|
|
)
|
|
.useErrorResponder(errorHandler);
|
|
|
|
App.useMappingAdapter();
|
|
App.listen(8080);
|
|
|
|
export default App;
|