trying to export myexpress and failed make sendfile a method of res

This commit is contained in:
hugo gogo
2022-10-19 00:51:52 +02:00
parent 0071cf1950
commit 6faad87734
2 changed files with 103 additions and 42 deletions

View File

@@ -0,0 +1,58 @@
const http = require('http')
const fs = require('fs')
const url = require('url')
const sendFile = (file, res) => {
fs.readFile(file, (err, data) => {
if (!err) {
res.writeHead(200, {
'content-type': 'text/html; charset=utf-8'
})
res.end(data)
}
else
{
res.writeHead(404)
res.end('file not found')
}
})
}
class myServer {
constructor() {
this._gets = {};
this._posts = {};
this._putss = {};
this._deletes = {};
this._server = http.createServer((req, res) => {
const pathName = url.parse(req.url).pathname;
if (req.method === "GET" && this._gets[pathName]) {
this._gets[pathName](req, res);
}
else if (req.method === "POST" && this._posts[pathName]) {
this._posts[pathName](req, res);
}
else if (req.method === "PUT" && this._puts[pathName]) {
this._puts[pathName](req, res);
}
else if (req.method === "DELETE" && this._deletes[pathName]) {
this._deletes[pathName](req, res);
} else {
res.writeHead(404)
res.end('not found');
}
})
}
get(url, callback) { this._gets[url] = callback; }
post(url, callback) { this._posts[url] = callback; }
add(url, callback) { this._puts[url] = callback; }
delete(url, callback) { this._deletes[url] = callback; }
listen(port, callback) { this._server.listen(port, callback) }
}
module.exports = myExpress;

View File

@@ -1,7 +1,6 @@
//const http = require('http')
const http = require('http') //const fs = require('fs')
const fs = require('fs') //const url = require('url')
const url = require('url')
const sendFile = (file, res) => { const sendFile = (file, res) => {
fs.readFile(file, (err, data) => { fs.readFile(file, (err, data) => {
@@ -34,47 +33,51 @@ const sendFile = (file, res) => {
// } // }
//}) //})
class customServer { //class myServer {
constructor() { // constructor() {
this._gets = {}; // this._gets = {};
this._posts = {}; // this._posts = {};
this._putss = {}; // this._putss = {};
this._deletes = {}; // this._deletes = {};
//
this._server = http.createServer((req, res) => { // this._server = http.createServer((req, res) => {
const pathName = url.parse(req.url).pathname; // const pathName = url.parse(req.url).pathname;
//
if (req.method === "GET" && this._gets[pathName]) { // if (req.method === "GET" && this._gets[pathName]) {
this._gets[pathName](req, res); // this._gets[pathName](req, res);
} // }
else if (req.method === "POST" && this._posts[pathName]) { // else if (req.method === "POST" && this._posts[pathName]) {
this._gets[pathName](req, res); // this._posts[pathName](req, res);
} // }
else if (req.method === "PUT" && this._puts[pathName]) { // else if (req.method === "PUT" && this._puts[pathName]) {
this._gets[pathName](req, res); // this._puts[pathName](req, res);
} // }
else if (req.method === "DELETE" && this._deletes[pathName]) { // else if (req.method === "DELETE" && this._deletes[pathName]) {
this._gets[pathName](req, res); // this._deletes[pathName](req, res);
} else { // } else {
res.writeHead(404) // res.writeHead(404)
res.end('not found'); // res.end('not found');
} // }
}) // })
//
} // }
//
// get(url, callback) { this._gets[url] = callback; }
// post(url, callback) { this._posts[url] = callback; }
// add(url, callback) { this._puts[url] = callback; }
// delete(url, callback) { this._deletes[url] = callback; }
//
// listen(port, callback) { this._server.listen(port, callback) }
//}
//
//const myExpress = () => { return new myServer() }
get(url, callback) { this._gets[url] = callback; }
post(url, callback) { this._posts[url] = callback; }
add(url, callback) { this._puts[url] = callback; }
delete(url, callback) { this._deletes[url] = callback; }
listen(port, callback) { this._server.listen(port, callback) } const myExpress = require('myExpress')
} const server = myExpress()
const server = new customServer(); server.get("/", (req, res) => sendFile(__dirname + "/index.html", res))
server.get("/", (req, res) => sendFile(__dirname + "/index.html", res));
const port = 3001; const port = 3001;
//server.listen(port);
server.listen(port, console.log(`listening on port ${port}`)); server.listen(port, console.log(`listening on port ${port}`));