pure node act like express
This commit is contained in:
@@ -3,7 +3,7 @@ const http = require('http')
|
|||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const url = require('url')
|
const url = require('url')
|
||||||
|
|
||||||
const sendMyFile = (file, res) => {
|
const sendFile = (file, res) => {
|
||||||
fs.readFile(file, (err, data) => {
|
fs.readFile(file, (err, data) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
res.writeHead(200, {
|
res.writeHead(200, {
|
||||||
@@ -25,9 +25,7 @@ const sendMyFile = (file, res) => {
|
|||||||
//
|
//
|
||||||
// if (req.method === "GET") {
|
// if (req.method === "GET") {
|
||||||
// if (pathName === "/")
|
// if (pathName === "/")
|
||||||
// sendMyFile(__dirname + "/index.html", res)
|
// sendFile(__dirname + "/index.html", res)
|
||||||
// else if (pathName === "/index.html")
|
|
||||||
// sendMyFile(__dirname + "/index.html", res)
|
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// res.writeHead(404)
|
// res.writeHead(404)
|
||||||
@@ -36,28 +34,47 @@ const sendMyFile = (file, res) => {
|
|||||||
// }
|
// }
|
||||||
//})
|
//})
|
||||||
|
|
||||||
|
class customServer {
|
||||||
let myExpress = () => {
|
constructor() {
|
||||||
return http.createServer((req, res) => {
|
this._gets = {};
|
||||||
let pathName = url.parse(req.url).pathname
|
this._posts = {};
|
||||||
if (req.method === "GET") {
|
this._putss = {};
|
||||||
if (pathName === "/")
|
this._deletes = {};
|
||||||
sendMyFile(__dirname + "/index.html", res)
|
|
||||||
else
|
this._server = http.createServer((req, res) => {
|
||||||
{
|
const pathName = url.parse(req.url).pathname;
|
||||||
res.writeHead(404)
|
|
||||||
res.end('wrong url')
|
if (req.method === "GET" && this._gets[pathName]) {
|
||||||
|
this._gets[pathName](req, res);
|
||||||
}
|
}
|
||||||
}
|
else if (req.method === "POST" && this._posts[pathName]) {
|
||||||
})
|
this._gets[pathName](req, res);
|
||||||
|
}
|
||||||
|
else if (req.method === "PUT" && this._puts[pathName]) {
|
||||||
|
this._gets[pathName](req, res);
|
||||||
|
}
|
||||||
|
else if (req.method === "DELETE" && this._deletes[pathName]) {
|
||||||
|
this._gets[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) }
|
||||||
}
|
}
|
||||||
|
|
||||||
//server.get('/', (req, res) => {
|
const server = new customServer();
|
||||||
// res.sendFile(__dirname + "/" + "index.html")
|
server.get("/", (req, res) => sendFile(__dirname + "/index.html", res));
|
||||||
//});
|
|
||||||
|
|
||||||
const server = myExpress();
|
|
||||||
|
|
||||||
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}`));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user