45 lines
998 B
JavaScript
45 lines
998 B
JavaScript
#!/usr/bin/env node
|
|
|
|
var Router = require('UrlResolver');
|
|
var router = new Router();
|
|
var wsrouter = new Router();
|
|
var http=require('http');
|
|
var genpug = require('./genpug');
|
|
var ws = require('ws');
|
|
var clientws = null;
|
|
var helper = require('./helper');
|
|
|
|
function timeout(ms) {
|
|
return new Promise(r=>
|
|
|
|
|
|
var server = http.createServer((req,res)=>{
|
|
req.urlp = new URL('https://example.com'+req.url);
|
|
router.get(req.urlp.pathname)(req,res);
|
|
});
|
|
server.listen(8080);
|
|
|
|
router.add('/',genpug('front.pug'));
|
|
|
|
router.add('/startcrawl',async (req,res)=>{
|
|
var url = req.url.substr('/startcrawl/'.length);
|
|
var downloaded=[]
|
|
var todownload=[];
|
|
helper(url,'out',downloaded,todownload);
|
|
res.end();
|
|
|
|
|
|
});
|
|
|
|
wsrouter.add('/',(req,socket,head)=>{
|
|
wss.handleUpgrade(req,socket,head,ws=>{
|
|
clientws = ws;
|
|
});
|
|
});
|
|
|
|
|
|
var wss = new WebSocket.Server({noServer:true});
|
|
server.upgrade = (req,socket,head)=>{
|
|
req.urlp = new URL('https://example.com'+req.url);
|
|
wsrounter.get(req.urlp.pathname)(req,socket,head);
|
|
}; |