server.on('connect', function(req, socket) { var tunnelUrl = 'tunnel://' + (/^[^:\/]+:\d+$/.test(req.url) ? req.url : req.headers.host); var options = parseUrl(tunnelUrl); var client = net.connect({ host: '127.0.0.1', port: options.port || 443 }, function() { socket.pipe(client).pipe(socket); socket.write('HTTP/1.1 200 Connection Established\r\nProxy-Agent: whistle/test\r\n\r\n'); }); });
require('../biz/init')(proxyEvents, function(){ server.on('request', app); execCallback(); });
function createServer (requestListener, serverListenCallback, binaryTypes) { const server = http.createServer(requestListener) server._socketPathSuffix = getRandomString() server._binaryTypes = binaryTypes ? binaryTypes.slice() : [] server.on('listening', () => { server._isListening = true if (serverListenCallback) serverListenCallback() }) server.on('close', () => { server._isListening = false }) .on('error', (error) => { /* istanbul ignore else */ if (error.code === 'EADDRINUSE') { console.warn(`WARNING: Attempting to listen on socket ${getSocketPath(server._socketPathSuffix)}, but it is already in use. This is likely as a result of a previous invocation error or timeout. Check the logs for the invocation(s) immediately prior to this for root cause, and consider increasing the timeout and/or cpu/memory allocation if this is purely as a result of a timeout. aws-serverless-express will restart the Node.js server listening on a new port and continue with this request.`) server._socketPathSuffix = getRandomString() return server.close(() => startServer(server)) } else { console.log('ERROR: server error') console.error(error) } }) return server }
websocketServer.on('upgrade', (req, socket, head) => { const { pathname = '' } = parseUrl(req) || {}; const isGraphqlRoute = pathname === externalUrlBase + graphqlRoute;
server.on('error', function (err) { if (err.errno === 'EACCES') { console.log('Port ' + app.get('port') + ' already in use.\nExiting...'); process.exit(1); } });
require('http') .createServer() .on('request', (req, res) => { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(product)); }) .listen(3000);
listen (port) { this.server = http.createServer() this.server.on('request', this._onRequest.bind(this)) this.server.on('connect', this._onConnect.bind(this)) this.server.on('error', this._onServerError.bind(this)) this.server.on('clientError', this._onRequestError.bind(this)) this.server.on('upgrade', this._onUpgrade.bind(this)) process.on('uncaughtException', this._onUncaughtException.bind(this)) return new Promise(resolve => this.server.listen(port, () => { debug('listen: \t %o', { port, pid: process.pid }) this.emit('listen', port, process.pid, this.server) resolve(this) })) }
// handle succesful server init server.on('listening', function() { express_app.emit('appStarted'); winston.info('Server started on port: ', port); });
function serveBigFileAllAtOnce() { const server = http.createServer() server.on("request", function(req, res) { fs.readFile("./bigfile.txt", (err, data) => { if (err) throw err res.end(data) }) }) server.listen(8000) }
// handle error server.on('error', function(error) { switch (error.code) { case 'EACCES': winston.error(`Port '${port}' is not accessible. Exiting.`); process.exit(1); break; case 'EADDRINUSE': winston.error(`Port '${port}' is already in use. Exiting.`); process.exit(1); break; default: throw error; } });
require('http') .createServer() .on('request', (req, res) => { try { let data = fs.readFileSync(path.join(__dirname, 'index.html'), 'utf-8'); const urlObj = url.parse(req.url, true); if (urlObj && urlObj.query && urlObj.query.message) { data = data.replace('{message}', urlObj.query.message); } res.writeHead(200, { 'Content-Type': 'text/html' }); res.end(data); } catch (err) { res.statusCode = 500; res.setHeader = 'text/plain'; res.statusMessage = 'An error occurred!'; res.end(); } }) .listen(3000);
require('http') .createServer() .on('request', (req, res) => { try { getRandomCity((result) => { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(result)); }); } catch (err) { console.log(err.message); res.statusCode = 500; res.statusMessage = 'Server error occurred'; res.end('An error occurred. Please, try later'); } }) .listen(3000);
function serveBigFileStreamed() { const server = http.createServer() server.on("request", function(req, res) { const src = fs.createReadStream("./bigfile.txt") src.pipe(res) }) server.listen(8000) }
require('http') .createServer() .on('request', (req, res) => { res.writeHead(200); req.pipe(res); }) .listen(3000);
require('http') .createServer() .on('request', (req, res) => { res.writeHead(200, { 'Content-Type': 'text/plains' }); res.end('Hello, World!'); }) .listen(3000);