rjweb-server
Advanced tools
Comparing version 0.0.3 to 0.0.4
31
index.js
@@ -12,4 +12,6 @@ const sleep = (milliseconds) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, milliseconds) | ||
async start(port, urls) { | ||
urls = urls.list() | ||
async start(options) { | ||
const urls = options.urls.list() || {} | ||
const bind = options.bind || '0.0.0.0' | ||
const port = options.port || 5002 | ||
@@ -66,16 +68,23 @@ const server = http.createServer(async(req, res) => { | ||
let pageDisplay = '' | ||
Object.keys(urls).forEach(function(url) { | ||
pageDisplay = pageDisplay + `[-] [${urls[url].type}] ${url}` | ||
}) | ||
if (!options.hasOwnProperty('notfound')) { | ||
let pageDisplay = '' | ||
Object.keys(urls).forEach(function(url) { | ||
pageDisplay = pageDisplay + `[-] [${urls[url].type}] ${url}` | ||
}) | ||
res.statusCode = 404 | ||
res.write(`[!] COULDNT FIND ${reqUrl.pathname.toUpperCase()}\n[i] AVAILABLE PAGES:\n\n${pageDisplay}`) | ||
res.end() | ||
res.statusCode = 404 | ||
res.write(`[!] COULDNT FIND ${reqUrl.pathname.toUpperCase()}\n[i] AVAILABLE PAGES:\n\n${pageDisplay}`) | ||
res.end() | ||
} else { | ||
await options.notfound(ctr).catch((e) => { | ||
res.write(e.message) | ||
res.end() | ||
}); return res.end() | ||
} | ||
} | ||
}) | ||
server.listen(port) | ||
return { success: true, message: 'WEBSERVER STARTED' } | ||
server.listen(port, bind) | ||
return { success: true, port, message: 'WEBSERVER STARTED' } | ||
} | ||
} |
{ | ||
"name": "rjweb-server", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Easy Way to create a Web Server in Node.js", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -35,6 +35,6 @@ <h1 align="center">Welcome to rjweb-server 👋</h1> | ||
const webserver = require('rjweb-server') | ||
const urls = new webserver.RouteList() | ||
const routes = new webserver.RouteList() | ||
// ctr.query.get... is ?name= | ||
urls.set(webserver.types.get, '/hello', async(ctr) => { | ||
routes.set(webserver.types.get, '/hello', async(ctr) => { | ||
ctr.print(`Hello, ${ctr.query.get("name")}! How are you doing?`) | ||
@@ -44,7 +44,32 @@ }) | ||
const port = 5000 | ||
webserver.start(port, urls).then(() => { | ||
console.log(`webserver started on port ${port}`) | ||
webserver.start({ | ||
bind: '0.0.0.0', | ||
port: port, | ||
urls: routes | ||
}).then((res) => { | ||
console.log(`webserver started on port ${res.port}`) | ||
}) | ||
``` | ||
Custom Not found page | ||
```js | ||
/* ************ * | ||
* EXPERIMENTAL * | ||
* ************ */ | ||
// You shouldnt use the current | ||
// State for Production Use | ||
webserver.start({ | ||
bind: '0.0.0.0', | ||
port: port, | ||
urls: routes, | ||
notfound: async(ctr) { | ||
ctr.status(404) | ||
ctr.print(`page "${ctr.requestPath.pathname}" not found`) | ||
} | ||
}).then((res) => { | ||
console.log(`webserver started on port ${res.port}`) | ||
}) | ||
``` | ||
## Author | ||
@@ -51,0 +76,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6157
90
89