const fs = require('fs')
const http = require('http')
const path = require('path')
http.createServer((req, res) => {
const filePath = path.join('files', req.url)
if (req.method === 'POST') {
// A POST request uploads a file.
// On a POST request, `req` is a readable stream.
req.pipe(fs.createWriteStream(filePath))
// Send an empty response when the pipe finishes
.on('finish', () => res.end())
}
else {
// A GET request retrieves a file
const readStream = fs.createReadStream(filePath)
readStream.on('error', _ => {
res.write('File not found')
res.end()
})
readStream.pipe(res)
}
}).listen(80)
-
Caleb C. Sander authored25831608