HTTP-NET

node v8.17.0
version: 1.0.0
endpointsharetweet
This is a playground to test JavaScript. It runs a completely standard copy of Node.js on a virtual server created just for you. Every one of npm’s 300,000+ packages are pre-installed, so try it out:
const console = require('console'); const net = require('net'); const http = require('http'); const server = http.createServer() .on('error', console.error) .on('request', (req, res) => { const chunks = []; console.log(`req.headers: ${JSON.stringify(req.headers, null, 2)}`); req .on('error', console.error) .on('data', (chunk) => chunks.push(chunk)) .once('end', () => { const receivedData = Buffer.concat(chunks); const responseBody = Buffer.concat([ Buffer.from('##START##\n'), receivedData, Buffer.from('\n##END##'), ]); res.writeHead(200, 'GOOD', { 'content-type': 'text/plain', 'content-length': `${responseBody.length}`, }); res.write(responseBody); res.end(); }); }) .on('listening', () => { const chunks = []; const req = new net.Socket() .on('error', console.error) .on('connect', () => { const requestBody = Buffer.from('Hello!!!'); req.write(Buffer.from([ 'POST / HTTP/1.1', 'Content-Type: text/plain', `Content-Length: ${requestBody.length}`, '\r\n', ].join('\r\n'))); req.write(requestBody); }) .on('data', (chunk) => { chunks.push(chunk); console.log(`${chunk}`); }) .once('req', () => console.log('req end')) .connect(server.address().port, '127.0.0.1'); }) .listen(3000);
Loading…

no comments

    sign in to comment