UNPKG

fa-comm

Version:
96 lines (85 loc) 3.04 kB
const comm = require('../index'); const http = require('http'); const reveiverData = (req) => { return new Promise(function (resolve, reject) { let chuk = '', body = ''; req.on('data', function (data) { chuk += data; }); req.on("end", function () { try { body = JSON.parse(chuk); } catch (e) { body = chuk; } resolve(body); }); }); }; (async () => { const port = await comm.port.getRandomUnUsePort(); console.log('port:', port); //创建一个服务 const server = http.createServer(async (req, res) => { let resBody; try { res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader('Access-Control-Allow-Methods', '*'); res.setHeader('Access-Control-Allow-Headers', '*'); req.url = decodeURIComponent(req.url); req.path = req.url.split('?')[0]; req.query = comm.req.getQuery(req.url.split('?')[1]); // if (req.method.toLowerCase() == 'post') { req.body = await reveiverData(req); // } else { // req.body = null; // } //收到一个请求 resBody = { url: req.url, path: req.path, method: req.method, headers: JSON.stringify(req.headers), query: req.query, body: req.body }; // console.info('收到请求:', resBody); res.end(JSON.stringify(resBody)); } catch (e) { res.writeHead(500); res.end(e.message); } }); server.listen(port); //监听Api启动完成 while (true) { const result = await comm.port.telnet(port); if (!result.error) { console.log('started', result.body); break; } await comm.process.sleep(500); } console.log('服务已经启动'); let result, request; request = new comm.request('http://localhost:' + port); // request = new comm.request('http://localhost:' + port,headers,timeout); // //GET // result = await request.get('/'); // console.log('get result1:', result); // result = await request.get(`/?a=1`); // console.log('get result2:', result); // //POST JSON // result = await request.post(`/`, { a: 1 }); // console.log('post json result:', result); // //POST text // result = await request.post(`/`, "abcdefg"); // console.log('post text result:', result); // //POST form-data // const fd = new request.FormData(); // fd.append('name', '张三'); // // fd.append('headimg',fs.createReadStream('./headimg.png')); // result = await request.post(`/`, fd); // console.log('post form-data result:', result); process.exit(0); })();