mirror of
https://github.com/186526/handlers.js
synced 2024-10-13 00:29:43 +00:00
77 lines
1.4 KiB
TypeScript
77 lines
1.4 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; |