2023-05-10 12:21:20 +00:00
|
|
|
import { Status } from "https://deno.land/std@0.186.0/http/http_status.ts";
|
2023-05-11 08:29:54 +00:00
|
|
|
import { HTTPServer } from "../mod.ts";
|
2023-05-10 12:21:20 +00:00
|
|
|
|
|
|
|
const httpServer = new HTTPServer();
|
2023-05-11 06:42:45 +00:00
|
|
|
|
2023-05-11 07:32:18 +00:00
|
|
|
httpServer.error((req, _rep) => {
|
|
|
|
return JSON.stringify(
|
|
|
|
{
|
|
|
|
code: Status.NotFound,
|
|
|
|
message: "Route not found!",
|
|
|
|
path: req.path,
|
2023-05-11 09:53:28 +00:00
|
|
|
url: req.url,
|
2023-05-11 07:32:18 +00:00
|
|
|
},
|
|
|
|
null,
|
|
|
|
2,
|
|
|
|
);
|
2023-05-11 09:53:28 +00:00
|
|
|
});
|
2023-05-11 07:32:18 +00:00
|
|
|
|
2023-05-11 04:46:41 +00:00
|
|
|
httpServer.add("GET", "/", (req, rep) => {
|
2023-05-10 14:28:01 +00:00
|
|
|
rep.status(Status.Teapot)
|
|
|
|
.header("working", "true")
|
2023-05-11 04:46:41 +00:00
|
|
|
.type("application/json")
|
2023-05-10 14:28:01 +00:00
|
|
|
.cookie("working", "true");
|
2023-05-11 06:42:45 +00:00
|
|
|
|
2023-05-11 04:46:41 +00:00
|
|
|
console.log(req.cookie("working"));
|
|
|
|
|
2023-05-11 09:53:28 +00:00
|
|
|
return {
|
|
|
|
code: Status.Teapot,
|
|
|
|
message: "Hello World!",
|
|
|
|
};
|
2023-05-10 12:21:20 +00:00
|
|
|
});
|
2023-05-11 06:42:45 +00:00
|
|
|
|
2023-05-11 04:46:41 +00:00
|
|
|
httpServer.add("GET", "/api/user/:userId", (req, rep) => {
|
|
|
|
rep.status(Status.Teapot)
|
2023-05-11 06:42:45 +00:00
|
|
|
.type("application/json");
|
2023-05-11 04:46:41 +00:00
|
|
|
|
2023-05-11 05:03:10 +00:00
|
|
|
console.log(req.queryParams);
|
|
|
|
|
2023-05-11 04:46:41 +00:00
|
|
|
return JSON.stringify(
|
|
|
|
{
|
|
|
|
code: Status.Teapot,
|
2023-05-11 06:42:45 +00:00
|
|
|
message: `UserID is ${req.pathParam("userId")}`,
|
|
|
|
queryParams: req.queryParams,
|
2023-05-11 04:46:41 +00:00
|
|
|
},
|
|
|
|
null,
|
|
|
|
2,
|
|
|
|
);
|
|
|
|
});
|
2023-05-11 06:42:45 +00:00
|
|
|
|
2023-05-10 12:21:20 +00:00
|
|
|
httpServer.listen({
|
|
|
|
port: 8080,
|
2023-05-10 12:57:29 +00:00
|
|
|
staticLocalDir: "/static",
|
|
|
|
staticServePath: "/assets",
|
2023-05-10 12:21:20 +00:00
|
|
|
});
|