Download server.js from incname/web: direct link, hf CLI and curl.
- Browser
- Download file 1.47 kB
-
https://huggingface.co/spaces/incname/web/resolve/main/server.js
- Command line
-
hf download hf://spaces/incname/web/server.js
-
curl -L -o server.js https://huggingface.co/spaces/incname/web/resolve/main/server.js
1.47 kB
| const express = require('express'); | |
| const fs = require('fs'); | |
| const path = require('path'); | |
| const cors = require('cors'); | |
| const app = express(); | |
| app.use(cors()); | |
| app.use(express.json()); | |
| const dataDir = path.join(__dirname, 'data'); | |
| if (!fs.existsSync(dataDir)) fs.mkdirSync(dataDir, { recursive: true }); | |
| const contactsFile = path.join(dataDir, 'contacts.json'); | |
| if (!fs.existsSync(contactsFile)) fs.writeFileSync(contactsFile, '[]'); | |
| app.get('/data/contacts', (req, res) => { | |
| try { | |
| const raw = fs.readFileSync(contactsFile, 'utf8'); | |
| const json = JSON.parse(raw || '[]'); | |
| res.json(json); | |
| } catch (err) { | |
| console.error(err); | |
| res.status(500).json({ error: 'failed to read contacts' }); | |
| } | |
| }); | |
| app.post('/data/contacts', (req, res) => { | |
| try { | |
| const body = req.body || {}; | |
| const entry = { | |
| name: body.name || '', | |
| email: body.email || '', | |
| subject: body.subject || '', | |
| message: body.message || '', | |
| createdAt: new Date().toISOString(), | |
| }; | |
| const raw = fs.readFileSync(contactsFile, 'utf8'); | |
| const arr = JSON.parse(raw || '[]'); | |
| arr.unshift(entry); | |
| fs.writeFileSync(contactsFile, JSON.stringify(arr, null, 2)); | |
| res.status(201).json(entry); | |
| } catch (err) { | |
| console.error(err); | |
| res.status(500).json({ error: 'failed to save contact' }); | |
| } | |
| }); | |
| const port = process.env.PORT || 5173; | |
| app.listen(port, () => console.log(`Data server listening on http://localhost:${port}`)); | |