Spaces:
Sleeping
Sleeping
Delete server.js
Browse files
server.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
| 1 |
-
// server.js – write-access tester
|
| 2 |
-
import express from 'express';
|
| 3 |
-
import fs from 'fs';
|
| 4 |
-
import fsp from 'fs/promises';
|
| 5 |
-
import path from 'path';
|
| 6 |
-
|
| 7 |
-
const PORT = process.env.PORT || 7860;
|
| 8 |
-
const DIR = '/data'; // Space-persistent volume
|
| 9 |
-
const FILE = path.join(DIR, 'test.txt');
|
| 10 |
-
|
| 11 |
-
const app = express();
|
| 12 |
-
app.use(express.json());
|
| 13 |
-
|
| 14 |
-
/* POST /write -> attempts three save methods */
|
| 15 |
-
app.post('/write', async (_req, res) => {
|
| 16 |
-
const report = {};
|
| 17 |
-
|
| 18 |
-
// ensure /data exists
|
| 19 |
-
try {
|
| 20 |
-
fs.mkdirSync(DIR, { recursive: true });
|
| 21 |
-
report.mkdir = 'ok';
|
| 22 |
-
} catch (e) {
|
| 23 |
-
report.mkdir = e.message;
|
| 24 |
-
}
|
| 25 |
-
|
| 26 |
-
/* ---- Method A: sync write ---- */
|
| 27 |
-
try {
|
| 28 |
-
fs.writeFileSync(FILE, 'sync write\n', { flag: 'a' });
|
| 29 |
-
report.sync = 'ok';
|
| 30 |
-
} catch (e) {
|
| 31 |
-
report.sync = e.message;
|
| 32 |
-
}
|
| 33 |
-
|
| 34 |
-
/* ---- Method B: fs.promises ---- */
|
| 35 |
-
try {
|
| 36 |
-
await fsp.writeFile(FILE, 'promises write\n', { flag: 'a' });
|
| 37 |
-
report.promise = 'ok';
|
| 38 |
-
} catch (e) {
|
| 39 |
-
report.promise = e.message;
|
| 40 |
-
}
|
| 41 |
-
|
| 42 |
-
/* ---- Method C: stream ---- */
|
| 43 |
-
try {
|
| 44 |
-
await new Promise((resolve, reject) => {
|
| 45 |
-
const stream = fs.createWriteStream(FILE, { flags: 'a' });
|
| 46 |
-
stream.on('error', reject);
|
| 47 |
-
stream.end('stream write\n', resolve);
|
| 48 |
-
});
|
| 49 |
-
report.stream = 'ok';
|
| 50 |
-
} catch (e) {
|
| 51 |
-
report.stream = e.message;
|
| 52 |
-
}
|
| 53 |
-
|
| 54 |
-
res.json(report);
|
| 55 |
-
});
|
| 56 |
-
|
| 57 |
-
/* GET /read -> returns file contents or error */
|
| 58 |
-
app.get('/read', (req, res) => {
|
| 59 |
-
try {
|
| 60 |
-
const txt = fs.readFileSync(FILE, 'utf-8');
|
| 61 |
-
res.type('text/plain').send(txt);
|
| 62 |
-
} catch (e) {
|
| 63 |
-
res.status(500).send(e.message);
|
| 64 |
-
}
|
| 65 |
-
});
|
| 66 |
-
|
| 67 |
-
app.listen(PORT, '0.0.0.0', () =>
|
| 68 |
-
console.log(`📝 Write-test server listening on ${PORT} (DIR=${DIR})`)
|
| 69 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|