This repository has been archived on 2023-06-09. You can view files and clone it, but cannot push or open issues or pull requests.
deno-http/example/test.ts

55 lines
1.0 KiB
TypeScript
Raw Normal View History

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) => {
rep.status(Status.Teapot)
.header("working", "true")
2023-05-11 04:46:41 +00:00
.type("application/json")
.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
});