summaryrefslogtreecommitdiff
path: root/examples/middleware/src/pages/api
diff options
context:
space:
mode:
Diffstat (limited to 'examples/middleware/src/pages/api')
-rw-r--r--examples/middleware/src/pages/api/login.ts21
-rw-r--r--examples/middleware/src/pages/api/logout.ts5
2 files changed, 26 insertions, 0 deletions
diff --git a/examples/middleware/src/pages/api/login.ts b/examples/middleware/src/pages/api/login.ts
new file mode 100644
index 000000000..24012444c
--- /dev/null
+++ b/examples/middleware/src/pages/api/login.ts
@@ -0,0 +1,21 @@
+import type { APIRoute, APIContext } from "astro";
+
+export const POST: APIRoute = async (context: APIContext) => {
+ try {
+ const data = await context.request.formData();
+ return new Response(
+ JSON.stringify({
+ username: data.get("username"),
+ password: data.get("password"),
+ }),
+ {
+ headers: { "Content-Type": "application/json" },
+ }
+ );
+ } catch (e) {
+ if (e instanceof Error) {
+ console.error(e.message);
+ }
+ }
+ return new Response(null, { status: 400 });
+};
diff --git a/examples/middleware/src/pages/api/logout.ts b/examples/middleware/src/pages/api/logout.ts
new file mode 100644
index 000000000..b6c6e9e06
--- /dev/null
+++ b/examples/middleware/src/pages/api/logout.ts
@@ -0,0 +1,5 @@
+import type { APIRoute, APIContext } from "astro";
+
+export const GET: APIRoute = async (_: APIContext) => {
+ return new Response(null, { status: 200 });
+};