Socket
Socket
Sign inDemoInstall

rjweb-server

Package Overview
Dependencies
Maintainers
1
Versions
373
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rjweb-server - npm Package Compare versions

Comparing version 2.1.3 to 2.1.4

6

lib/cjs/classes/routeList.js

@@ -1,3 +0,3 @@

var N=Object.create;var a=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var L=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),M=(s,e)=>{for(var t in e)a(s,t,{get:e[t],enumerable:!0})},x=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of V(e))!C.call(s,i)&&i!==t&&a(s,i,{get:()=>e[i],enumerable:!(r=H(e,i))||r.enumerable});return s};var d=(s,e,t)=>(t=s!=null?N(q(s)):{},x(e||!s||!s.__esModule?a(t,"default",{value:s,enumerable:!0}):t,s)),j=s=>x(a({},"__esModule",{value:!0}),s);var P=L((G,I)=>{I.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});var w={};M(w,{default:()=>f,pathParser:()=>h});module.exports=j(w);var u=d(require("fs")),p=(s,e)=>(e=e||[],u.readdirSync(s).forEach(r=>{if(u.statSync(s+"/"+r).isDirectory())e=p(s+"/"+r,e);else{let i=s+"/"+r;e.push(i)}}),e),E=(s,e,t)=>(t=t||[],t=p(s,t).filter(r=>r.endsWith(e)),t);var c=d(P()),S=d(require("path")),W=d(require("fs")),h=s=>(s=s.replace(/\/{2,}/g,"/"),s.endsWith("/")?s.slice(0,-1):s.startsWith("/")?s:`/${s}`),f=class{constructor(e,t){e=e!=null?e:[],t=t!=null?t:[],this.routes=e,this.events=t}event(e,t){return this.events.some(r=>r.event===e)?!1:this.events.push({event:e,code:t})-1}set(e,t,r){if(t=h(t),!c.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${c.default.join(", ")}`);return this.routes.some(i=>i.method===e&&i.path===t)?!1:this.routes.push({method:e,path:t,pathArray:t.split("/"),code:r,data:{addTypes:!1}})-1}static(e,t,r){var y,g,$;e=h(e);let i=(y=r==null?void 0:r.preload)!=null?y:!1,n=(g=r==null?void 0:r.remHTML)!=null?g:!1,b=($=r==null?void 0:r.addTypes)!=null?$:!0,T=[];for(let m of p(t)){let o=m.replace(t,"").replace("/",""),l=e+t.replace(o,"").replace(t,"").slice(0,-1);l.startsWith(".")&&(l=l.slice(-1)),n&&o==="index.html"?o="":n&&o.endsWith(".html")?o=o.slice(0,-5):n&&o.endsWith(".htm")&&(o=o.slice(0,-4));let v=`${l}/${o}`.endsWith("/")?`${l}`:`${l}`=="/"?`/${o}`:`${l}/${o}`,A=this.routes.push({method:"STATIC",path:v,pathArray:v.split("/"),code:async()=>{},data:{addTypes:b,file:m}});i&&(this.routes[A-1].data.content=W.readFileSync(m)),T.push(A-1)}return T}load(e){let t=E(e,".js"),r=[];for(let i of t){let n=require(S.resolve(i));if(!(!("path"in n)||!("method"in n)||!("code"in n))){if(!c.default.includes(n.method))throw TypeError(`No Valid Request Type: ${n.method}
Possible Values: ${c.default.join(", ")}`);r.push(this.routes.push({method:n.method,path:n.path,pathArray:n.path.split("/"),code:n.code,data:{addTypes:!1}}))-1}}return r}list(){return{routes:this.routes,events:this.events}}};0&&(module.exports={pathParser});
var W=Object.create;var c=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var L=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),M=(r,e)=>{for(var t in e)c(r,t,{get:e[t],enumerable:!0})},x=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of V(e))!C.call(r,i)&&i!==t&&c(r,i,{get:()=>e[i],enumerable:!(s=H(e,i))||s.enumerable});return r};var a=(r,e,t)=>(t=r!=null?W(q(r)):{},x(e||!r||!r.__esModule?c(t,"default",{value:r,enumerable:!0}):t,r)),j=r=>x(c({},"__esModule",{value:!0}),r);var P=L((G,I)=>{I.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});var w={};M(w,{default:()=>p,pathParser:()=>m});module.exports=j(w);var d=a(require("fs")),u=(r,e)=>(e=e||[],d.readdirSync(r).forEach(s=>{if(d.statSync(r+"/"+s).isDirectory())e=u(r+"/"+s,e);else{let i=r+"/"+s;e.push(i)}}),e),E=(r,e,t)=>(t=t||[],t=u(r,t).filter(s=>s.endsWith(e)),t);var l=a(P()),S=a(require("path")),$=a(require("fs")),m=r=>(r=r.replace(/\/{2,}/g,"/"),r.endsWith("/")&&r!=="/"?r.slice(0,-1):!r.startsWith("/")&&r!=="/"?`/${r}`:r),p=class{constructor(e,t){e=e!=null?e:[],t=t!=null?t:[],this.routes=e,this.events=t}event(e,t){return this.events.some(s=>s.event===e)?!1:this.events.push({event:e,code:t})-1}set(e,t,s){if(t=m(t),!l.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${l.default.join(", ")}`);return this.routes.some(i=>i.method===e&&i.path===t)?!1:this.routes.push({method:e,path:t,pathArray:t.split("/"),code:s,data:{addTypes:!1}})-1}static(e,t,s){var T,y,g;e=m(e);let i=(T=s==null?void 0:s.preload)!=null?T:!1,n=(y=s==null?void 0:s.remHTML)!=null?y:!1,b=(g=s==null?void 0:s.addTypes)!=null?g:!0,h=[];for(let f of u(t)){let o=f.replace(t,"").replace("/",""),N=e+t.replace(o,"").replace(t,"").slice(0,-1);n&&o==="index.html"?o="":n&&o.endsWith(".html")?o.slice(0,-5):n&&o.endsWith(".htm")&&o.slice(0,-4);let v=m(`${N}/${o}`),A=this.routes.push({method:"STATIC",path:v,pathArray:v.split("/"),code:async()=>{},data:{addTypes:b,file:f}});i&&(this.routes[A-1].data.content=$.readFileSync(f)),h.push(A-1)}return h}load(e){let t=E(e,".js"),s=[];for(let i of t){let n=require(S.resolve(i));if(!(!("path"in n)||!("method"in n)||!("code"in n))){if(!l.default.includes(n.method))throw TypeError(`No Valid Request Type: ${n.method}
Possible Values: ${l.default.join(", ")}`);s.push(this.routes.push({method:n.method,path:n.path,pathArray:n.path.split("/"),code:n.code,data:{addTypes:!1}}))-1}}return s}list(){return{routes:this.routes,events:this.events}}};0&&(module.exports={pathParser});

@@ -1,11 +0,11 @@

var ue=Object.create;var q=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var ye=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var we=(r,e,a,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of he(e))!pe.call(r,l)&&l!==a&&q(r,l,{get:()=>e[l],enumerable:!(c=fe(e,l))||c.enumerable});return r};var E=(r,e,a)=>(a=r!=null?ue(me(r)):{},we(e||!r||!r.__esModule?q(a,"default",{value:r,enumerable:!0}):a,r));var j=ye((Te,te)=>{te.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});var N=E(require("fs")),$=(r,e)=>(e=e||[],N.readdirSync(r).forEach(c=>{if(N.statSync(r+"/"+c).isDirectory())e=$(r+"/"+c,e);else{let l=r+"/"+c;e.push(l)}}),e),ee=(r,e,a)=>(a=a||[],a=$(r,a).filter(c=>c.endsWith(e)),a);var L=E(j()),se=E(require("path")),ae=E(require("fs")),re=r=>(r=r.replace(/\/{2,}/g,"/"),r.endsWith("/")?r.slice(0,-1):r.startsWith("/")?r:`/${r}`),W=class{constructor(e,a){e=e!=null?e:[],a=a!=null?a:[],this.routes=e,this.events=a}event(e,a){return this.events.some(c=>c.event===e)?!1:this.events.push({event:e,code:a})-1}set(e,a,c){if(a=re(a),!L.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${L.default.join(", ")}`);return this.routes.some(l=>l.method===e&&l.path===a)?!1:this.routes.push({method:e,path:a,pathArray:a.split("/"),code:c,data:{addTypes:!1}})-1}static(e,a,c){var H,I,b;e=re(e);let l=(H=c==null?void 0:c.preload)!=null?H:!1,f=(I=c==null?void 0:c.remHTML)!=null?I:!1,O=(b=c==null?void 0:c.addTypes)!=null?b:!0,w=[];for(let T of $(a)){let h=T.replace(a,"").replace("/",""),g=e+a.replace(h,"").replace(a,"").slice(0,-1);g.startsWith(".")&&(g=g.slice(-1)),f&&h==="index.html"?h="":f&&h.endsWith(".html")?h=h.slice(0,-5):f&&h.endsWith(".htm")&&(h=h.slice(0,-4));let A=`${g}/${h}`.endsWith("/")?`${g}`:`${g}`=="/"?`/${h}`:`${g}/${h}`,C=this.routes.push({method:"STATIC",path:A,pathArray:A.split("/"),code:async()=>{},data:{addTypes:O,file:T}});l&&(this.routes[C-1].data.content=ae.readFileSync(T)),w.push(C-1)}return w}load(e){let a=ee(e,".js"),c=[];for(let l of a){let f=require(se.resolve(l));if(!(!("path"in f)||!("method"in f)||!("code"in f))){if(!L.default.includes(f.method))throw TypeError(`No Valid Request Type: ${f.method}
Possible Values: ${L.default.join(", ")}`);c.push(this.routes.push({method:f.method,path:f.path,pathArray:f.path.split("/"),code:f.code,data:{addTypes:!1}}))-1}}return c}list(){return{routes:this.routes,events:this.events}}};var ne=(w=>(w.options="OPTIONS",w.delete="DELETE",w.patch="PATCH",w.post="POST",w.put="PUT",w.get="GET",w.static="STATIC",w))(ne||{}),ie=ne;var oe=E(j()),ce=E(require("path")),le=E(require("http")),de=E(require("url")),M=E(require("fs"));module.exports={routeList:W,types:ie,async start(r){var h,g,A,C,D,V,G,J,X,F,z;let e=(g=(h=r==null?void 0:r.routes)==null?void 0:h.list().routes)!=null?g:[],a=(C=(A=r==null?void 0:r.routes)==null?void 0:A.list().events)!=null?C:[],c=(D=r==null?void 0:r.proxy)!=null?D:!1,l=(V=r==null?void 0:r.rateLimits)!=null?V:{enabled:!1,list:[]},f=(G=r==null?void 0:r.bind)!=null?G:"0.0.0.0",O=(J=r==null?void 0:r.cors)!=null?J:!1,w=(X=r==null?void 0:r.port)!=null?X:2023,H=(F=r==null?void 0:r.maxBody)!=null?F:20,I=(z=r==null?void 0:r.poweredBy)!=null?z:!0,b=async(u,t)=>{switch(u){case"error":{let m=a.find(d=>d.event==="error");m?Promise.resolve(m.code(t)).catch(d=>{console.log(d),t.status(500),t.rawRes.write(`An Error occured in your Error Event (what the hell?)
var ue=Object.create;var ee=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var ye=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var we=(r,e,a,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of he(e))!pe.call(r,l)&&l!==a&&ee(r,l,{get:()=>e[l],enumerable:!(c=fe(e,l))||c.enumerable});return r};var v=(r,e,a)=>(a=r!=null?ue(me(r)):{},we(e||!r||!r.__esModule?ee(a,"default",{value:r,enumerable:!0}):a,r));var j=ye((Te,re)=>{re.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});var N=v(require("fs")),O=(r,e)=>(e=e||[],N.readdirSync(r).forEach(c=>{if(N.statSync(r+"/"+c).isDirectory())e=O(r+"/"+c,e);else{let l=r+"/"+c;e.push(l)}}),e),te=(r,e,a)=>(a=a||[],a=O(r,a).filter(c=>c.endsWith(e)),a);var k=v(j()),se=v(require("path")),ae=v(require("fs")),M=r=>(r=r.replace(/\/{2,}/g,"/"),r.endsWith("/")&&r!=="/"?r.slice(0,-1):!r.startsWith("/")&&r!=="/"?`/${r}`:r),L=class{constructor(e,a){e=e!=null?e:[],a=a!=null?a:[],this.routes=e,this.events=a}event(e,a){return this.events.some(c=>c.event===e)?!1:this.events.push({event:e,code:a})-1}set(e,a,c){if(a=M(a),!k.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${k.default.join(", ")}`);return this.routes.some(l=>l.method===e&&l.path===a)?!1:this.routes.push({method:e,path:a,pathArray:a.split("/"),code:c,data:{addTypes:!1}})-1}static(e,a,c){var H,I,g;e=M(e);let l=(H=c==null?void 0:c.preload)!=null?H:!1,f=(I=c==null?void 0:c.remHTML)!=null?I:!1,B=(g=c==null?void 0:c.addTypes)!=null?g:!0,y=[];for(let b of O(a)){let w=b.replace(a,"").replace("/",""),W=e+a.replace(w,"").replace(a,"").slice(0,-1);f&&w==="index.html"?w="":f&&w.endsWith(".html")?w.slice(0,-5):f&&w.endsWith(".htm")&&w.slice(0,-4);let S=M(`${W}/${w}`),A=this.routes.push({method:"STATIC",path:S,pathArray:S.split("/"),code:async()=>{},data:{addTypes:B,file:b}});l&&(this.routes[A-1].data.content=ae.readFileSync(b)),y.push(A-1)}return y}load(e){let a=te(e,".js"),c=[];for(let l of a){let f=require(se.resolve(l));if(!(!("path"in f)||!("method"in f)||!("code"in f))){if(!k.default.includes(f.method))throw TypeError(`No Valid Request Type: ${f.method}
Possible Values: ${k.default.join(", ")}`);c.push(this.routes.push({method:f.method,path:f.path,pathArray:f.path.split("/"),code:f.code,data:{addTypes:!1}}))-1}}return c}list(){return{routes:this.routes,events:this.events}}};var ne=(y=>(y.options="OPTIONS",y.delete="DELETE",y.patch="PATCH",y.post="POST",y.put="PUT",y.get="GET",y.static="STATIC",y))(ne||{}),ie=ne;var oe=v(j()),ce=v(require("path")),le=v(require("http")),de=v(require("url")),D=v(require("fs"));module.exports={routeList:L,types:ie,async start(r){var w,W,S,A,V,G,J,X,F,z,K;let e=(W=(w=r==null?void 0:r.routes)==null?void 0:w.list().routes)!=null?W:[],a=(A=(S=r==null?void 0:r.routes)==null?void 0:S.list().events)!=null?A:[],c=(V=r==null?void 0:r.proxy)!=null?V:!1,l=(G=r==null?void 0:r.rateLimits)!=null?G:{enabled:!1,list:[]},f=(J=r==null?void 0:r.bind)!=null?J:"0.0.0.0",B=(X=r==null?void 0:r.cors)!=null?X:!1,y=(F=r==null?void 0:r.port)!=null?F:2023,H=(z=r==null?void 0:r.maxBody)!=null?z:20,I=(K=r==null?void 0:r.poweredBy)!=null?K:!0,g=async(u,t)=>{switch(u){case"error":{let h=a.find(d=>d.event==="error");h?Promise.resolve(h.code(t)).catch(d=>{console.log(d),t.status(500),t.rawRes.write(`An Error occured in your Error Event (what the hell?)
`),t.rawRes.write(d.stack),t.rawRes.end()}).then(()=>t.rawRes.end()):(console.log(t.error),t.rawRes.write(`An Error occurred
`),t.rawRes.write(t.error.stack),t.status(500),t.rawRes.end())}case"request":{let m=!1,d=a.find(i=>i.event==="request");return d&&await Promise.resolve(d.code(t)).catch(i=>{m=!0,console.log(i),t.status(500),t.rawRes.write(`An Error occured in your Request Event
`),t.rawRes.write(i.stack),t.rawRes.end()}),m}case"notfound":{let m=!1,d=a.find(i=>i.event==="notfound");if(d)await Promise.resolve(d.code(t)).catch(i=>{m=!0,console.log(i),t.status(500),t.rawRes.write(`An Error occured in your NotFound Event
`),t.rawRes.write(i.stack),t.rawRes.end()}).then(()=>t.rawRes.end());else{let i="";for(let S of e){let R=S.method==="STATIC"?"GET":S.method;i+=`[-] [${R}] ${S.path}
`),t.rawRes.write(t.error.stack),t.status(500),t.rawRes.end())}case"request":{let h=!1,d=a.find(i=>i.event==="request");return d&&await Promise.resolve(d.code(t)).catch(i=>{h=!0,console.log(i),t.status(500),t.rawRes.write(`An Error occured in your Request Event
`),t.rawRes.write(i.stack),t.rawRes.end()}),h}case"notfound":{let h=!1,d=a.find(i=>i.event==="notfound");if(d)await Promise.resolve(d.code(t)).catch(i=>{h=!0,console.log(i),t.status(500),t.rawRes.write(`An Error occured in your NotFound Event
`),t.rawRes.write(i.stack),t.rawRes.end()}).then(()=>t.rawRes.end());else{let i="";for(let R of e){let E=R.method==="STATIC"?"GET":R.method;i+=`[-] [${E}] ${R.path}
`}t.status(404),t.rawRes.write(`[!] COULDNT FIND ${t.url.pathname.toUpperCase()}
[i] AVAILABLE PAGES:
${i}`),t.rawRes.end()}return m}}},T=le.createServer(async(u,t)=>{let m="";if(u.headers["content-length"]&&parseInt(u.headers["content-length"])>=H*1e6)return t.statusCode=413,t.write("Payload Too Large"),t.end();u.on("data",d=>{m+=d}).on("end",async()=>{var Y,Z,_;let d={...de.parse(u.url),method:u.method};d.path.endsWith("/")&&(d.path=d.path.slice(0,-1));let i;try{m=JSON.parse(m)}catch(s){}if(O&&(t.setHeader("Access-Control-Allow-Headers","*"),t.setHeader("Access-Control-Allow-Origin","*"),t.setHeader("Access-Control-Request-Method","*"),t.setHeader("Access-Control-Allow-Methods",oe.default.join(",")),u.method==="OPTIONS"))return t.end("");let S=new Map,R,B=!1,x=d.pathname.split("/");x[x.length-1]===""&&x.pop();for(let s=1;s<=e.length-1;s++){let n=e[s];if(n.path===d.pathname&&n.method===u.method){i=s,B=!1,R=!0;break}else if(n.path===d.pathname&&n.method==="STATIC"){i=s,B=!0,R=!0;break}if(n.method===u.method&&n.pathArray.length===x.length){if(R&&n.path!==e[i].path)break;for(let y=1;y<=n.pathArray.length-1;y++){let p=n.pathArray[y],k=x[y];if(!p.startsWith(":")&&k!==p)break;if(p!==k&&p.startsWith(":")){S.set(p.replace(":",""),decodeURIComponent(k)),i=s,R=!0;continue}}}}let v;c&&u.headers["x-forwarded-for"]?v=u.headers["x-forwarded-for"]:v=u.socket.remoteAddress;let U=new Map;Object.keys(u.headers).forEach(s=>{U.set(s,u.headers[s])}),U.delete("cookie");let K=new Map;for(let[s,n]of new URLSearchParams(d.search))K.set(s,n);let Q=new Map;u.headers.cookie&&u.headers.cookie.split(";").forEach(s=>{let[n,...y]=s.split("=");if(n=n==null?void 0:n.trim(),!n)return;let p=y.join("=").trim();p&&Q.set(n,decodeURIComponent(p))}),I&&t.setHeader("X-Powered-By","rjweb-server");let o={headers:U,cookies:Q,params:S,queries:K,client:{port:u.socket.remotePort,ip:v},body:m,url:d,rawServer:T,rawReq:u,rawRes:t,"@":{},setHeader(s,n){return t.setHeader(s,n),o},setCustom(s,n){return o["@"][s]=n,o},print(s,n){var p;let y=(p=n==null?void 0:n.niceJSON)!=null?p:!1;switch(typeof s){case"object":t.setHeader("Content-Type","application/json"),y?t.write(JSON.stringify(s,void 0,1)):t.write(JSON.stringify(s));break;case"bigint":case"number":case"boolean":t.write(s.toString());break;case"function":t.write(s());break;case"undefined":t.write("");break;default:try{t.write(s)}catch(k){o.error=k,P=!0,b("error",o)}}return o},status(s){return t.statusCode=s,o},printFile(s){let n,y=!1;try{n=M.readFileSync(s)}catch(p){y=!0,o.error=p,b("error",o)}return y||t.write(n,"binary"),o}},P=await b("request",o);if(!P){if(l.enabled){for(let s of l.list)if(d.path.startsWith(s.path)&&(t.setHeader("X-RateLimit-Limit",s.times),t.setHeader("X-RateLimit-Remaining",s.times-((Y=await l.functions.get(v+s.path))!=null?Y:0)),t.setHeader("X-RateLimit-Reset-Every",s.timeout),await l.functions.set(v+s.path,((Z=await l.functions.get(v+s.path))!=null?Z:0)+1),setTimeout(async()=>{var n;await l.functions.set(v+s.path,((n=await l.functions.get(v+s.path))!=null?n:0)-1)},s.timeout),await l.functions.get(v+s.path)>s.times))return t.statusCode=429,P=!0,o.print((_=l.message)!=null?_:"Rate Limited"),t.end()}if(R&&!P)if(!B)Promise.resolve(e[i].code(o)).catch(s=>{o.error=s,P=!0,b("error",o)}).then(()=>t.end());else{if(e[i].data.addTypes&&(e[i].path.endsWith(".pdf")&&o.setHeader("Content-Type","application/pdf"),e[i].path.endsWith(".js")&&o.setHeader("Content-Type","text/javascript"),e[i].path.endsWith(".html")&&o.setHeader("Content-Type","text/html"),e[i].path.endsWith(".css")&&o.setHeader("Content-Type","text/css"),e[i].path.endsWith(".csv")&&o.setHeader("Content-Type","text/csv"),e[i].path.endsWith(".mpeg")&&o.setHeader("Content-Type","video/mpeg"),e[i].path.endsWith(".mp4")&&o.setHeader("Content-Type","video/mp4"),e[i].path.endsWith(".webm")&&o.setHeader("Content-Type","video/webm"),e[i].path.endsWith(".bmp")&&o.setHeader("Content-Type","image/bmp")),!("content"in e[i].data)){let s=ce.resolve(e[i].data.file),n,y=!1;try{n=M.readFileSync(s)}catch(p){y=!0,o.error=p,b("error",o)}return y?void 0:(t.write(n,"binary"),t.end())}return t.write(e[i].data.content,"binary"),t.end()}else b("notfound",o)}})});return T.listen(w,f),new Promise((u,t)=>{T.once("listening",()=>u({success:!0,port:w,message:"WEBSERVER STARTED",rawServer:T})),T.once("error",m=>t({success:!1,error:m,message:"WEBSERVER ERRORED"}))})}};
${i}`),t.rawRes.end()}return h}}},b=le.createServer(async(u,t)=>{let h="";if(u.headers["content-length"]&&parseInt(u.headers["content-length"])>=H*1e6)return t.statusCode=413,t.write("Payload Too Large"),t.end();u.on("data",d=>{h+=d}).on("end",async()=>{var Z,_,q;let d={...de.parse(u.url),method:u.method};d.path.endsWith("/")&&(d.path=d.path.slice(0,-1));let i;try{h=JSON.parse(h)}catch(s){}if(B&&(t.setHeader("Access-Control-Allow-Headers","*"),t.setHeader("Access-Control-Allow-Origin","*"),t.setHeader("Access-Control-Request-Method","*"),t.setHeader("Access-Control-Allow-Methods",oe.default.join(",")),u.method==="OPTIONS"))return t.end("");let R=new Map,E,U=!1,C=d.pathname.split("/");C[C.length-1]===""&&C.pop();for(let s=1;s<=e.length-1;s++){let n=e[s];if(n.path===d.pathname&&n.method===u.method){i=s,U=!1,E=!0;break}else if(n.path===d.pathname&&n.method==="STATIC"){i=s,U=!0,E=!0;break}if(n.method===u.method&&n.pathArray.length===C.length){if(E&&n.path!==e[i].path)break;for(let p=1;p<=n.pathArray.length-1;p++){let m=n.pathArray[p],P=C[p];if(!m.startsWith(":")&&P!==m)break;if(m!==P&&m.startsWith(":")){R.set(m.replace(":",""),decodeURIComponent(P)),i=s,E=!0;continue}}}}let T;c&&u.headers["x-forwarded-for"]?T=u.headers["x-forwarded-for"]:T=u.socket.remoteAddress;let $=new Map;Object.keys(u.headers).forEach(s=>{$.set(s,u.headers[s])}),$.delete("cookie");let Q=new Map;for(let[s,n]of new URLSearchParams(d.search))Q.set(s,n);let Y=new Map;u.headers.cookie&&u.headers.cookie.split(";").forEach(s=>{let[n,...p]=s.split("=");if(n=n==null?void 0:n.trim(),!n)return;let m=p.join("=").trim();m&&Y.set(n,decodeURIComponent(m))}),I&&t.setHeader("X-Powered-By","rjweb-server");let o={headers:$,cookies:Y,params:R,queries:Q,client:{port:u.socket.remotePort,ip:T},body:h,url:d,rawServer:b,rawReq:u,rawRes:t,"@":{},setHeader(s,n){return t.setHeader(s,n),o},setCustom(s,n){return o["@"][s]=n,o},print(s,n){var m;let p=(m=n==null?void 0:n.niceJSON)!=null?m:!1;switch(typeof s){case"object":t.setHeader("Content-Type","application/json"),p?t.write(JSON.stringify(s,void 0,1)):t.write(JSON.stringify(s));break;case"bigint":case"number":case"boolean":t.write(s.toString());break;case"function":t.write(s());break;case"undefined":t.write("");break;default:try{t.write(s)}catch(P){o.error=P,x=!0,g("error",o)}}return o},status(s){return t.statusCode=s,o},printFile(s){let n,p=!1;try{n=D.readFileSync(s)}catch(m){p=!0,o.error=m,g("error",o)}return p||t.write(n,"binary"),o}},x=await g("request",o);if(!x){if(l.enabled){for(let s of l.list)if(d.path.startsWith(s.path)&&(t.setHeader("X-RateLimit-Limit",s.times),t.setHeader("X-RateLimit-Remaining",s.times-((Z=await l.functions.get(T+s.path))!=null?Z:0)),t.setHeader("X-RateLimit-Reset-Every",s.timeout),await l.functions.set(T+s.path,((_=await l.functions.get(T+s.path))!=null?_:0)+1),setTimeout(async()=>{var n;await l.functions.set(T+s.path,((n=await l.functions.get(T+s.path))!=null?n:0)-1)},s.timeout),await l.functions.get(T+s.path)>s.times))return t.statusCode=429,x=!0,o.print((q=l.message)!=null?q:"Rate Limited"),t.end()}if(E&&!x)if(!U)Promise.resolve(e[i].code(o)).catch(s=>{o.error=s,x=!0,g("error",o)}).then(()=>t.end());else{if(e[i].data.addTypes&&(e[i].path.endsWith(".pdf")&&o.setHeader("Content-Type","application/pdf"),e[i].path.endsWith(".js")&&o.setHeader("Content-Type","text/javascript"),e[i].path.endsWith(".html")&&o.setHeader("Content-Type","text/html"),e[i].path.endsWith(".css")&&o.setHeader("Content-Type","text/css"),e[i].path.endsWith(".csv")&&o.setHeader("Content-Type","text/csv"),e[i].path.endsWith(".mpeg")&&o.setHeader("Content-Type","video/mpeg"),e[i].path.endsWith(".mp4")&&o.setHeader("Content-Type","video/mp4"),e[i].path.endsWith(".webm")&&o.setHeader("Content-Type","video/webm"),e[i].path.endsWith(".bmp")&&o.setHeader("Content-Type","image/bmp")),!("content"in e[i].data)){let s=ce.resolve(e[i].data.file),n,p=!1;try{n=D.readFileSync(s)}catch(m){p=!0,o.error=m,g("error",o)}return p?void 0:(t.write(n,"binary"),t.end())}return t.write(e[i].data.content,"binary"),t.end()}else g("notfound",o)}})});return b.listen(y,f),new Promise((u,t)=>{b.once("listening",()=>u({success:!0,port:y,message:"WEBSERVER STARTED",rawServer:b})),b.once("error",h=>t({success:!1,error:h,message:"WEBSERVER ERRORED"}))})}};

@@ -1,3 +0,3 @@

var b=Object.create;var $=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var V=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var v=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+s+'" is not supported')});var C=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var L=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of H(e))!q.call(s,i)&&i!==t&&$(s,i,{get:()=>e[i],enumerable:!(r=N(e,i))||r.enumerable});return s};var M=(s,e,t)=>(t=s!=null?b(V(s)):{},L(e||!s||!s.__esModule?$(t,"default",{value:s,enumerable:!0}):t,s));var E=C((D,x)=>{x.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});import*as a from"fs";var d=(s,e)=>(e=e||[],a.readdirSync(s).forEach(r=>{if(a.statSync(s+"/"+r).isDirectory())e=d(s+"/"+r,e);else{let i=s+"/"+r;e.push(i)}}),e),A=(s,e,t)=>(t=t||[],t=d(s,t).filter(r=>r.endsWith(e)),t);var c=M(E());import*as P from"path";import*as S from"fs";var I=s=>(s=s.replace(/\/{2,}/g,"/"),s.endsWith("/")?s.slice(0,-1):s.startsWith("/")?s:`/${s}`),p=class{constructor(e,t){e=e!=null?e:[],t=t!=null?t:[],this.routes=e,this.events=t}event(e,t){return this.events.some(r=>r.event===e)?!1:this.events.push({event:e,code:t})-1}set(e,t,r){if(t=I(t),!c.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${c.default.join(", ")}`);return this.routes.some(i=>i.method===e&&i.path===t)?!1:this.routes.push({method:e,path:t,pathArray:t.split("/"),code:r,data:{addTypes:!1}})-1}static(e,t,r){var m,h,T;e=I(e);let i=(m=r==null?void 0:r.preload)!=null?m:!1,n=(h=r==null?void 0:r.remHTML)!=null?h:!1,W=(T=r==null?void 0:r.addTypes)!=null?T:!0,f=[];for(let u of d(t)){let o=u.replace(t,"").replace("/",""),l=e+t.replace(o,"").replace(t,"").slice(0,-1);l.startsWith(".")&&(l=l.slice(-1)),n&&o==="index.html"?o="":n&&o.endsWith(".html")?o=o.slice(0,-5):n&&o.endsWith(".htm")&&(o=o.slice(0,-4));let y=`${l}/${o}`.endsWith("/")?`${l}`:`${l}`=="/"?`/${o}`:`${l}/${o}`,g=this.routes.push({method:"STATIC",path:y,pathArray:y.split("/"),code:async()=>{},data:{addTypes:W,file:u}});i&&(this.routes[g-1].data.content=S.readFileSync(u)),f.push(g-1)}return f}load(e){let t=A(e,".js"),r=[];for(let i of t){let n=v(P.resolve(i));if(!(!("path"in n)||!("method"in n)||!("code"in n))){if(!c.default.includes(n.method))throw TypeError(`No Valid Request Type: ${n.method}
Possible Values: ${c.default.join(", ")}`);r.push(this.routes.push({method:n.method,path:n.path,pathArray:n.path.split("/"),code:n.code,data:{addTypes:!1}}))-1}}return r}list(){return{routes:this.routes,events:this.events}}};export{p as default,I as pathParser};
var N=Object.create;var v=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var V=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var A=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var L=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of H(e))!q.call(t,i)&&i!==r&&v(t,i,{get:()=>e[i],enumerable:!(s=W(e,i))||s.enumerable});return t};var M=(t,e,r)=>(r=t!=null?N(V(t)):{},L(e||!t||!t.__esModule?v(r,"default",{value:t,enumerable:!0}):r,t));var I=C((D,E)=>{E.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});import*as c from"fs";var a=(t,e)=>(e=e||[],c.readdirSync(t).forEach(s=>{if(c.statSync(t+"/"+s).isDirectory())e=a(t+"/"+s,e);else{let i=t+"/"+s;e.push(i)}}),e),x=(t,e,r)=>(r=r||[],r=a(t,r).filter(s=>s.endsWith(e)),r);var l=M(I());import*as P from"path";import*as S from"fs";var u=t=>(t=t.replace(/\/{2,}/g,"/"),t.endsWith("/")&&t!=="/"?t.slice(0,-1):!t.startsWith("/")&&t!=="/"?`/${t}`:t),m=class{constructor(e,r){e=e!=null?e:[],r=r!=null?r:[],this.routes=e,this.events=r}event(e,r){return this.events.some(s=>s.event===e)?!1:this.events.push({event:e,code:r})-1}set(e,r,s){if(r=u(r),!l.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${l.default.join(", ")}`);return this.routes.some(i=>i.method===e&&i.path===r)?!1:this.routes.push({method:e,path:r,pathArray:r.split("/"),code:s,data:{addTypes:!1}})-1}static(e,r,s){var f,h,T;e=u(e);let i=(f=s==null?void 0:s.preload)!=null?f:!1,n=(h=s==null?void 0:s.remHTML)!=null?h:!1,$=(T=s==null?void 0:s.addTypes)!=null?T:!0,p=[];for(let d of a(r)){let o=d.replace(r,"").replace("/",""),b=e+r.replace(o,"").replace(r,"").slice(0,-1);n&&o==="index.html"?o="":n&&o.endsWith(".html")?o.slice(0,-5):n&&o.endsWith(".htm")&&o.slice(0,-4);let y=u(`${b}/${o}`),g=this.routes.push({method:"STATIC",path:y,pathArray:y.split("/"),code:async()=>{},data:{addTypes:$,file:d}});i&&(this.routes[g-1].data.content=S.readFileSync(d)),p.push(g-1)}return p}load(e){let r=x(e,".js"),s=[];for(let i of r){let n=A(P.resolve(i));if(!(!("path"in n)||!("method"in n)||!("code"in n))){if(!l.default.includes(n.method))throw TypeError(`No Valid Request Type: ${n.method}
Possible Values: ${l.default.join(", ")}`);s.push(this.routes.push({method:n.method,path:n.path,pathArray:n.path.split("/"),code:n.code,data:{addTypes:!1}}))-1}}return s}list(){return{routes:this.routes,events:this.events}}};export{m as default,u as pathParser};

@@ -1,11 +0,11 @@

var ge=Object.create;var q=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,Ee=Object.prototype.hasOwnProperty;var ee=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var U=(t,e)=>()=>(t&&(e=t(t=0)),e);var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Re=(t,e,a,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of Te(e))!Ee.call(t,l)&&l!==a&&q(t,l,{get:()=>e[l],enumerable:!(c=be(e,l))||c.enumerable});return t};var re=(t,e,a)=>(a=t!=null?ge(ve(t)):{},Re(e||!t||!t.__esModule?q(a,"default",{value:t,enumerable:!0}):a,t));import*as I from"fs";var N,se,ae=U(()=>{N=(t,e)=>(e=e||[],I.readdirSync(t).forEach(c=>{if(I.statSync(t+"/"+c).isDirectory())e=N(t+"/"+c,e);else{let l=t+"/"+c;e.push(l)}}),e),se=(t,e,a)=>(a=a||[],a=N(t,a).filter(c=>c.endsWith(e)),a)});var j=te((xe,ne)=>{ne.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});import*as oe from"path";import*as ce from"fs";var k,ie,L,le=U(()=>{ae();k=re(j()),ie=t=>(t=t.replace(/\/{2,}/g,"/"),t.endsWith("/")?t.slice(0,-1):t.startsWith("/")?t:`/${t}`),L=class{constructor(e,a){e=e!=null?e:[],a=a!=null?a:[],this.routes=e,this.events=a}event(e,a){return this.events.some(c=>c.event===e)?!1:this.events.push({event:e,code:a})-1}set(e,a,c){if(a=ie(a),!k.default.includes(e))throw TypeError(`No Valid Request Type: ${e}
Possible Values: ${k.default.join(", ")}`);return this.routes.some(l=>l.method===e&&l.path===a)?!1:this.routes.push({method:e,path:a,pathArray:a.split("/"),code:c,data:{addTypes:!1}})-1}static(e,a,c){var W,H,b;e=ie(e);let l=(W=c==null?void 0:c.preload)!=null?W:!1,f=(H=c==null?void 0:c.remHTML)!=null?H:!1,$=(b=c==null?void 0:c.addTypes)!=null?b:!0,w=[];for(let T of N(a)){let h=T.replace(a,"").replace("/",""),g=e+a.replace(h,"").replace(a,"").slice(0,-1);g.startsWith(".")&&(g=g.slice(-1)),f&&h==="index.html"?h="":f&&h.endsWith(".html")?h=h.slice(0,-5):f&&h.endsWith(".htm")&&(h=h.slice(0,-4));let S=`${g}/${h}`.endsWith("/")?`${g}`:`${g}`=="/"?`/${h}`:`${g}/${h}`,A=this.routes.push({method:"STATIC",path:S,pathArray:S.split("/"),code:async()=>{},data:{addTypes:$,file:T}});l&&(this.routes[A-1].data.content=ce.readFileSync(T)),w.push(A-1)}return w}load(e){let a=se(e,".js"),c=[];for(let l of a){let f=ee(oe.resolve(l));if(!(!("path"in f)||!("method"in f)||!("code"in f))){if(!k.default.includes(f.method))throw TypeError(`No Valid Request Type: ${f.method}
Possible Values: ${k.default.join(", ")}`);c.push(this.routes.push({method:f.method,path:f.path,pathArray:f.path.split("/"),code:f.code,data:{addTypes:!1}}))-1}}return c}list(){return{routes:this.routes,events:this.events}}}});var de,ue,fe=U(()=>{de=(w=>(w.options="OPTIONS",w.delete="DELETE",w.patch="PATCH",w.post="POST",w.put="PUT",w.get="GET",w.static="STATIC",w))(de||{}),ue=de});import*as me from"path";import*as pe from"http";import*as ye from"url";import*as M from"fs";var Se=te((Ne,we)=>{le();fe();var he=re(j());we.exports={routeList:L,types:ue,async start(t){var h,g,S,A,D,V,G,J,X,F,z;let e=(g=(h=t==null?void 0:t.routes)==null?void 0:h.list().routes)!=null?g:[],a=(A=(S=t==null?void 0:t.routes)==null?void 0:S.list().events)!=null?A:[],c=(D=t==null?void 0:t.proxy)!=null?D:!1,l=(V=t==null?void 0:t.rateLimits)!=null?V:{enabled:!1,list:[]},f=(G=t==null?void 0:t.bind)!=null?G:"0.0.0.0",$=(J=t==null?void 0:t.cors)!=null?J:!1,w=(X=t==null?void 0:t.port)!=null?X:2023,W=(F=t==null?void 0:t.maxBody)!=null?F:20,H=(z=t==null?void 0:t.poweredBy)!=null?z:!0,b=async(u,r)=>{switch(u){case"error":{let m=a.find(d=>d.event==="error");m?Promise.resolve(m.code(r)).catch(d=>{console.log(d),r.status(500),r.rawRes.write(`An Error occured in your Error Event (what the hell?)
var ge=Object.create;var ee=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,Ee=Object.prototype.hasOwnProperty;var te=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,a)=>(typeof require<"u"?require:t)[a]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var $=(e,t)=>()=>(e&&(t=e(e=0)),t);var re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Re=(e,t,a,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of Te(t))!Ee.call(e,l)&&l!==a&&ee(e,l,{get:()=>t[l],enumerable:!(c=be(t,l))||c.enumerable});return e};var se=(e,t,a)=>(a=e!=null?ge(ve(e)):{},Re(t||!e||!e.__esModule?ee(a,"default",{value:e,enumerable:!0}):a,e));import*as W from"fs";var N,ae,ne=$(()=>{N=(e,t)=>(t=t||[],W.readdirSync(e).forEach(c=>{if(W.statSync(e+"/"+c).isDirectory())t=N(e+"/"+c,t);else{let l=e+"/"+c;t.push(l)}}),t),ae=(e,t,a)=>(a=a||[],a=N(e,a).filter(c=>c.endsWith(t)),a)});var j=re((xe,ie)=>{ie.exports=["OPTIONS","DELETE","PATCH","STATIC","POST","PUT","GET"]});import*as oe from"path";import*as ce from"fs";var P,M,k,le=$(()=>{ne();P=se(j()),M=e=>(e=e.replace(/\/{2,}/g,"/"),e.endsWith("/")&&e!=="/"?e.slice(0,-1):!e.startsWith("/")&&e!=="/"?`/${e}`:e),k=class{constructor(t,a){t=t!=null?t:[],a=a!=null?a:[],this.routes=t,this.events=a}event(t,a){return this.events.some(c=>c.event===t)?!1:this.events.push({event:t,code:a})-1}set(t,a,c){if(a=M(a),!P.default.includes(t))throw TypeError(`No Valid Request Type: ${t}
Possible Values: ${P.default.join(", ")}`);return this.routes.some(l=>l.method===t&&l.path===a)?!1:this.routes.push({method:t,path:a,pathArray:a.split("/"),code:c,data:{addTypes:!1}})-1}static(t,a,c){var L,H,g;t=M(t);let l=(L=c==null?void 0:c.preload)!=null?L:!1,f=(H=c==null?void 0:c.remHTML)!=null?H:!1,O=(g=c==null?void 0:c.addTypes)!=null?g:!0,y=[];for(let b of N(a)){let w=b.replace(a,"").replace("/",""),I=t+a.replace(w,"").replace(a,"").slice(0,-1);f&&w==="index.html"?w="":f&&w.endsWith(".html")?w.slice(0,-5):f&&w.endsWith(".htm")&&w.slice(0,-4);let R=M(`${I}/${w}`),S=this.routes.push({method:"STATIC",path:R,pathArray:R.split("/"),code:async()=>{},data:{addTypes:O,file:b}});l&&(this.routes[S-1].data.content=ce.readFileSync(b)),y.push(S-1)}return y}load(t){let a=ae(t,".js"),c=[];for(let l of a){let f=te(oe.resolve(l));if(!(!("path"in f)||!("method"in f)||!("code"in f))){if(!P.default.includes(f.method))throw TypeError(`No Valid Request Type: ${f.method}
Possible Values: ${P.default.join(", ")}`);c.push(this.routes.push({method:f.method,path:f.path,pathArray:f.path.split("/"),code:f.code,data:{addTypes:!1}}))-1}}return c}list(){return{routes:this.routes,events:this.events}}}});var de,ue,fe=$(()=>{de=(y=>(y.options="OPTIONS",y.delete="DELETE",y.patch="PATCH",y.post="POST",y.put="PUT",y.get="GET",y.static="STATIC",y))(de||{}),ue=de});import*as me from"path";import*as pe from"http";import*as ye from"url";import*as D from"fs";var Se=re((Ne,we)=>{le();fe();var he=se(j());we.exports={routeList:k,types:ue,async start(e){var w,I,R,S,V,G,J,X,F,z,K;let t=(I=(w=e==null?void 0:e.routes)==null?void 0:w.list().routes)!=null?I:[],a=(S=(R=e==null?void 0:e.routes)==null?void 0:R.list().events)!=null?S:[],c=(V=e==null?void 0:e.proxy)!=null?V:!1,l=(G=e==null?void 0:e.rateLimits)!=null?G:{enabled:!1,list:[]},f=(J=e==null?void 0:e.bind)!=null?J:"0.0.0.0",O=(X=e==null?void 0:e.cors)!=null?X:!1,y=(F=e==null?void 0:e.port)!=null?F:2023,L=(z=e==null?void 0:e.maxBody)!=null?z:20,H=(K=e==null?void 0:e.poweredBy)!=null?K:!0,g=async(u,r)=>{switch(u){case"error":{let h=a.find(d=>d.event==="error");h?Promise.resolve(h.code(r)).catch(d=>{console.log(d),r.status(500),r.rawRes.write(`An Error occured in your Error Event (what the hell?)
`),r.rawRes.write(d.stack),r.rawRes.end()}).then(()=>r.rawRes.end()):(console.log(r.error),r.rawRes.write(`An Error occurred
`),r.rawRes.write(r.error.stack),r.status(500),r.rawRes.end())}case"request":{let m=!1,d=a.find(i=>i.event==="request");return d&&await Promise.resolve(d.code(r)).catch(i=>{m=!0,console.log(i),r.status(500),r.rawRes.write(`An Error occured in your Request Event
`),r.rawRes.write(i.stack),r.rawRes.end()}),m}case"notfound":{let m=!1,d=a.find(i=>i.event==="notfound");if(d)await Promise.resolve(d.code(r)).catch(i=>{m=!0,console.log(i),r.status(500),r.rawRes.write(`An Error occured in your NotFound Event
`),r.rawRes.write(i.stack),r.rawRes.end()}).then(()=>r.rawRes.end());else{let i="";for(let R of e){let E=R.method==="STATIC"?"GET":R.method;i+=`[-] [${E}] ${R.path}
`),r.rawRes.write(r.error.stack),r.status(500),r.rawRes.end())}case"request":{let h=!1,d=a.find(i=>i.event==="request");return d&&await Promise.resolve(d.code(r)).catch(i=>{h=!0,console.log(i),r.status(500),r.rawRes.write(`An Error occured in your Request Event
`),r.rawRes.write(i.stack),r.rawRes.end()}),h}case"notfound":{let h=!1,d=a.find(i=>i.event==="notfound");if(d)await Promise.resolve(d.code(r)).catch(i=>{h=!0,console.log(i),r.status(500),r.rawRes.write(`An Error occured in your NotFound Event
`),r.rawRes.write(i.stack),r.rawRes.end()}).then(()=>r.rawRes.end());else{let i="";for(let E of t){let v=E.method==="STATIC"?"GET":E.method;i+=`[-] [${v}] ${E.path}
`}r.status(404),r.rawRes.write(`[!] COULDNT FIND ${r.url.pathname.toUpperCase()}
[i] AVAILABLE PAGES:
${i}`),r.rawRes.end()}return m}}},T=pe.createServer(async(u,r)=>{let m="";if(u.headers["content-length"]&&parseInt(u.headers["content-length"])>=W*1e6)return r.statusCode=413,r.write("Payload Too Large"),r.end();u.on("data",d=>{m+=d}).on("end",async()=>{var Y,Z,_;let d={...ye.parse(u.url),method:u.method};d.path.endsWith("/")&&(d.path=d.path.slice(0,-1));let i;try{m=JSON.parse(m)}catch(s){}if($&&(r.setHeader("Access-Control-Allow-Headers","*"),r.setHeader("Access-Control-Allow-Origin","*"),r.setHeader("Access-Control-Request-Method","*"),r.setHeader("Access-Control-Allow-Methods",he.default.join(",")),u.method==="OPTIONS"))return r.end("");let R=new Map,E,O=!1,C=d.pathname.split("/");C[C.length-1]===""&&C.pop();for(let s=1;s<=e.length-1;s++){let n=e[s];if(n.path===d.pathname&&n.method===u.method){i=s,O=!1,E=!0;break}else if(n.path===d.pathname&&n.method==="STATIC"){i=s,O=!0,E=!0;break}if(n.method===u.method&&n.pathArray.length===C.length){if(E&&n.path!==e[i].path)break;for(let y=1;y<=n.pathArray.length-1;y++){let p=n.pathArray[y],P=C[y];if(!p.startsWith(":")&&P!==p)break;if(p!==P&&p.startsWith(":")){R.set(p.replace(":",""),decodeURIComponent(P)),i=s,E=!0;continue}}}}let v;c&&u.headers["x-forwarded-for"]?v=u.headers["x-forwarded-for"]:v=u.socket.remoteAddress;let B=new Map;Object.keys(u.headers).forEach(s=>{B.set(s,u.headers[s])}),B.delete("cookie");let K=new Map;for(let[s,n]of new URLSearchParams(d.search))K.set(s,n);let Q=new Map;u.headers.cookie&&u.headers.cookie.split(";").forEach(s=>{let[n,...y]=s.split("=");if(n=n==null?void 0:n.trim(),!n)return;let p=y.join("=").trim();p&&Q.set(n,decodeURIComponent(p))}),H&&r.setHeader("X-Powered-By","rjweb-server");let o={headers:B,cookies:Q,params:R,queries:K,client:{port:u.socket.remotePort,ip:v},body:m,url:d,rawServer:T,rawReq:u,rawRes:r,"@":{},setHeader(s,n){return r.setHeader(s,n),o},setCustom(s,n){return o["@"][s]=n,o},print(s,n){var p;let y=(p=n==null?void 0:n.niceJSON)!=null?p:!1;switch(typeof s){case"object":r.setHeader("Content-Type","application/json"),y?r.write(JSON.stringify(s,void 0,1)):r.write(JSON.stringify(s));break;case"bigint":case"number":case"boolean":r.write(s.toString());break;case"function":r.write(s());break;case"undefined":r.write("");break;default:try{r.write(s)}catch(P){o.error=P,x=!0,b("error",o)}}return o},status(s){return r.statusCode=s,o},printFile(s){let n,y=!1;try{n=M.readFileSync(s)}catch(p){y=!0,o.error=p,b("error",o)}return y||r.write(n,"binary"),o}},x=await b("request",o);if(!x){if(l.enabled){for(let s of l.list)if(d.path.startsWith(s.path)&&(r.setHeader("X-RateLimit-Limit",s.times),r.setHeader("X-RateLimit-Remaining",s.times-((Y=await l.functions.get(v+s.path))!=null?Y:0)),r.setHeader("X-RateLimit-Reset-Every",s.timeout),await l.functions.set(v+s.path,((Z=await l.functions.get(v+s.path))!=null?Z:0)+1),setTimeout(async()=>{var n;await l.functions.set(v+s.path,((n=await l.functions.get(v+s.path))!=null?n:0)-1)},s.timeout),await l.functions.get(v+s.path)>s.times))return r.statusCode=429,x=!0,o.print((_=l.message)!=null?_:"Rate Limited"),r.end()}if(E&&!x)if(!O)Promise.resolve(e[i].code(o)).catch(s=>{o.error=s,x=!0,b("error",o)}).then(()=>r.end());else{if(e[i].data.addTypes&&(e[i].path.endsWith(".pdf")&&o.setHeader("Content-Type","application/pdf"),e[i].path.endsWith(".js")&&o.setHeader("Content-Type","text/javascript"),e[i].path.endsWith(".html")&&o.setHeader("Content-Type","text/html"),e[i].path.endsWith(".css")&&o.setHeader("Content-Type","text/css"),e[i].path.endsWith(".csv")&&o.setHeader("Content-Type","text/csv"),e[i].path.endsWith(".mpeg")&&o.setHeader("Content-Type","video/mpeg"),e[i].path.endsWith(".mp4")&&o.setHeader("Content-Type","video/mp4"),e[i].path.endsWith(".webm")&&o.setHeader("Content-Type","video/webm"),e[i].path.endsWith(".bmp")&&o.setHeader("Content-Type","image/bmp")),!("content"in e[i].data)){let s=me.resolve(e[i].data.file),n,y=!1;try{n=M.readFileSync(s)}catch(p){y=!0,o.error=p,b("error",o)}return y?void 0:(r.write(n,"binary"),r.end())}return r.write(e[i].data.content,"binary"),r.end()}else b("notfound",o)}})});return T.listen(w,f),new Promise((u,r)=>{T.once("listening",()=>u({success:!0,port:w,message:"WEBSERVER STARTED",rawServer:T})),T.once("error",m=>r({success:!1,error:m,message:"WEBSERVER ERRORED"}))})}}});export default Se();
${i}`),r.rawRes.end()}return h}}},b=pe.createServer(async(u,r)=>{let h="";if(u.headers["content-length"]&&parseInt(u.headers["content-length"])>=L*1e6)return r.statusCode=413,r.write("Payload Too Large"),r.end();u.on("data",d=>{h+=d}).on("end",async()=>{var Z,_,q;let d={...ye.parse(u.url),method:u.method};d.path.endsWith("/")&&(d.path=d.path.slice(0,-1));let i;try{h=JSON.parse(h)}catch(s){}if(O&&(r.setHeader("Access-Control-Allow-Headers","*"),r.setHeader("Access-Control-Allow-Origin","*"),r.setHeader("Access-Control-Request-Method","*"),r.setHeader("Access-Control-Allow-Methods",he.default.join(",")),u.method==="OPTIONS"))return r.end("");let E=new Map,v,B=!1,A=d.pathname.split("/");A[A.length-1]===""&&A.pop();for(let s=1;s<=t.length-1;s++){let n=t[s];if(n.path===d.pathname&&n.method===u.method){i=s,B=!1,v=!0;break}else if(n.path===d.pathname&&n.method==="STATIC"){i=s,B=!0,v=!0;break}if(n.method===u.method&&n.pathArray.length===A.length){if(v&&n.path!==t[i].path)break;for(let p=1;p<=n.pathArray.length-1;p++){let m=n.pathArray[p],x=A[p];if(!m.startsWith(":")&&x!==m)break;if(m!==x&&m.startsWith(":")){E.set(m.replace(":",""),decodeURIComponent(x)),i=s,v=!0;continue}}}}let T;c&&u.headers["x-forwarded-for"]?T=u.headers["x-forwarded-for"]:T=u.socket.remoteAddress;let U=new Map;Object.keys(u.headers).forEach(s=>{U.set(s,u.headers[s])}),U.delete("cookie");let Q=new Map;for(let[s,n]of new URLSearchParams(d.search))Q.set(s,n);let Y=new Map;u.headers.cookie&&u.headers.cookie.split(";").forEach(s=>{let[n,...p]=s.split("=");if(n=n==null?void 0:n.trim(),!n)return;let m=p.join("=").trim();m&&Y.set(n,decodeURIComponent(m))}),H&&r.setHeader("X-Powered-By","rjweb-server");let o={headers:U,cookies:Y,params:E,queries:Q,client:{port:u.socket.remotePort,ip:T},body:h,url:d,rawServer:b,rawReq:u,rawRes:r,"@":{},setHeader(s,n){return r.setHeader(s,n),o},setCustom(s,n){return o["@"][s]=n,o},print(s,n){var m;let p=(m=n==null?void 0:n.niceJSON)!=null?m:!1;switch(typeof s){case"object":r.setHeader("Content-Type","application/json"),p?r.write(JSON.stringify(s,void 0,1)):r.write(JSON.stringify(s));break;case"bigint":case"number":case"boolean":r.write(s.toString());break;case"function":r.write(s());break;case"undefined":r.write("");break;default:try{r.write(s)}catch(x){o.error=x,C=!0,g("error",o)}}return o},status(s){return r.statusCode=s,o},printFile(s){let n,p=!1;try{n=D.readFileSync(s)}catch(m){p=!0,o.error=m,g("error",o)}return p||r.write(n,"binary"),o}},C=await g("request",o);if(!C){if(l.enabled){for(let s of l.list)if(d.path.startsWith(s.path)&&(r.setHeader("X-RateLimit-Limit",s.times),r.setHeader("X-RateLimit-Remaining",s.times-((Z=await l.functions.get(T+s.path))!=null?Z:0)),r.setHeader("X-RateLimit-Reset-Every",s.timeout),await l.functions.set(T+s.path,((_=await l.functions.get(T+s.path))!=null?_:0)+1),setTimeout(async()=>{var n;await l.functions.set(T+s.path,((n=await l.functions.get(T+s.path))!=null?n:0)-1)},s.timeout),await l.functions.get(T+s.path)>s.times))return r.statusCode=429,C=!0,o.print((q=l.message)!=null?q:"Rate Limited"),r.end()}if(v&&!C)if(!B)Promise.resolve(t[i].code(o)).catch(s=>{o.error=s,C=!0,g("error",o)}).then(()=>r.end());else{if(t[i].data.addTypes&&(t[i].path.endsWith(".pdf")&&o.setHeader("Content-Type","application/pdf"),t[i].path.endsWith(".js")&&o.setHeader("Content-Type","text/javascript"),t[i].path.endsWith(".html")&&o.setHeader("Content-Type","text/html"),t[i].path.endsWith(".css")&&o.setHeader("Content-Type","text/css"),t[i].path.endsWith(".csv")&&o.setHeader("Content-Type","text/csv"),t[i].path.endsWith(".mpeg")&&o.setHeader("Content-Type","video/mpeg"),t[i].path.endsWith(".mp4")&&o.setHeader("Content-Type","video/mp4"),t[i].path.endsWith(".webm")&&o.setHeader("Content-Type","video/webm"),t[i].path.endsWith(".bmp")&&o.setHeader("Content-Type","image/bmp")),!("content"in t[i].data)){let s=me.resolve(t[i].data.file),n,p=!1;try{n=D.readFileSync(s)}catch(m){p=!0,o.error=m,g("error",o)}return p?void 0:(r.write(n,"binary"),r.end())}return r.write(t[i].data.content,"binary"),r.end()}else g("notfound",o)}})});return b.listen(y,f),new Promise((u,r)=>{b.once("listening",()=>u({success:!0,port:y,message:"WEBSERVER STARTED",rawServer:b})),b.once("error",h=>r({success:!1,error:h,message:"WEBSERVER ERRORED"}))})}}});export default Se();
{
"name": "rjweb-server",
"version": "2.1.3",
"version": "2.1.4",
"description": "Easy and Lightweight Way to create a Web Server with Many Features",

@@ -5,0 +5,0 @@ "module": "lib/esm/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc