diff --git a/edge/components/signup.edge b/edge/components/signup.edge
index 2c72a76..8f32656 100644
--- a/edge/components/signup.edge
+++ b/edge/components/signup.edge
@@ -2,8 +2,8 @@
@if(prompt === true)
want to recieve backspin in your inbox?
@end
-
\ No newline at end of file
diff --git a/package.json b/package.json
index 9183c6a..8b34c88 100644
--- a/package.json
+++ b/package.json
@@ -7,24 +7,24 @@
"scripts": {
"check": "tsc --noEmit --erasableSyntaxOnly --allowImportingTsExtensions",
"start": "node --env-file-if-exists=.env ./src/index.ts | pino-pretty",
- "dev": "npm run check && portless backspin npm run start",
+ "dev": "npm run check && npm run start",
"update": "npx npm-check-updates -u",
"portless:config": "portless proxy start --https"
},
"author": "Tierney Cyren ",
"license": "MIT",
"dependencies": {
+ "@fastify/formbody": "^8.0.2",
"@fastify/view": "^11.1.1",
"edge-markdown": "^1.10.0",
"edge.js": "^6.5.0",
"fastify": "^5.8.4",
- "luxon": "^3.7.2"
+ "luxon": "^3.7.2",
+ "pino-pretty": "^13.1.3"
},
"devDependencies": {
"@types/luxon": "^3.7.1",
"@types/node": "^25.5.0",
- "pino-pretty": "^13.1.3",
- "portless": "^0.7.2",
"typescript": "^6.0.2"
}
}
diff --git a/src/index.ts b/src/index.ts
index 2bde7df..3cdbcc2 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -4,12 +4,19 @@ import { Edge } from 'edge.js'
import { edgeMarkdown } from 'edge-markdown'
import { readdir, readFile } from 'node:fs/promises'
import { resolve, join } from 'node:path'
+import { fastifyFormbody } from '@fastify/formbody'
+
+const port = Number(process.env.PORT);
+const hostname = String(process.env.HOST);
// fastify configuration
const server = fastify(
{ logger: true }
)
+//set up our form parsing
+server.register(fastifyFormbody)
+
// set up parent of the `src` directory for us to use in different imports
const parentOfSrcDirectory = resolve(import.meta.dirname, '..')
@@ -101,13 +108,15 @@ server.get('/health', async (request, reply) => {
return { status: 'ok' }
})
+server.post('/signup', async (request: any, reply: any) => {
+ const { email } = request.body;
+ reply.send({ email });
+})
+
// run the server
const start = async () => {
- const port = Number(process.env.PORT);
- const host = String(process.env.HOST);
-
try {
- await server.listen({ port, host });
+ await server.listen({ port, host: hostname });
} catch (err) {
server.log.error(err)
process.exit(1)