http_server.js (819:31027fb75905) http_server.js (828:b9f7635e6be2)
1
2/*
3 * Copyright (C) NGINX, Inc.
4 */
5
6'use strict';
7
8const EventEmitter = require('events');

--- 218 unchanged lines hidden (view full) ---

227ServerResponse.prototype.write = function write(chunk, encoding, callback) {
228 this._writeBody(chunk, encoding, callback);
229
230 return this;
231};
232
233ServerResponse.prototype.end = function end(chunk, encoding, callback) {
234 this._writeBody(chunk, encoding, callback);
1
2/*
3 * Copyright (C) NGINX, Inc.
4 */
5
6'use strict';
7
8const EventEmitter = require('events');

--- 218 unchanged lines hidden (view full) ---

227ServerResponse.prototype.write = function write(chunk, encoding, callback) {
228 this._writeBody(chunk, encoding, callback);
229
230 return this;
231};
232
233ServerResponse.prototype.end = function end(chunk, encoding, callback) {
234 this._writeBody(chunk, encoding, callback);
235 unit_lib.unit_response_end(this)
236
237 this.finished = true;
238
239 return this;
240};
241
242function ServerRequest(server) {
243 EventEmitter.call(this);

--- 41 unchanged lines hidden (view full) ---

285ServerRequest.prototype.resume = function resume() {
286 return [];
287};
288
289function Server(requestListener) {
290 EventEmitter.call(this);
291
292 this.unit = new unit_lib.Unit();
235
236 this.finished = true;
237
238 return this;
239};
240
241function ServerRequest(server) {
242 EventEmitter.call(this);

--- 41 unchanged lines hidden (view full) ---

284ServerRequest.prototype.resume = function resume() {
285 return [];
286};
287
288function Server(requestListener) {
289 EventEmitter.call(this);
290
291 this.unit = new unit_lib.Unit();
293 this.unit.createServer();
294
295 this.unit.server = this;
296
292 this.unit.server = this;
293
294 this.unit.createServer();
295
297 this.socket = Socket;
298 this.request = ServerRequest;
299 this.response = ServerResponse;
300
301 if (requestListener) {
302 this.on('request', requestListener);
303 }
304}

--- 8 unchanged lines hidden (view full) ---

313
314 return this;
315};
316
317Server.prototype.listen = function () {
318 this.unit.listen();
319};
320
296 this.socket = Socket;
297 this.request = ServerRequest;
298 this.response = ServerResponse;
299
300 if (requestListener) {
301 this.on('request', requestListener);
302 }
303}

--- 8 unchanged lines hidden (view full) ---

312
313 return this;
314};
315
316Server.prototype.listen = function () {
317 this.unit.listen();
318};
319
320Server.prototype.run_events = function (server, req, res) {
321 /* Important!!! setImmediate starts the next iteration in Node.js loop. */
322 setImmediate(function () {
323 server.emit("request", req, res);
324
325 Promise.resolve().then(() => {
326 let buf = server.unit._read(req.socket.req_pointer);
327
328 if (buf.length != 0) {
329 req.emit("data", buf);
330 }
331
332 req.emit("end");
333 });
334
335 Promise.resolve().then(() => {
336 if (res.finished) {
337 unit_lib.unit_response_end(res);
338 }
339 });
340 });
341};
342
321function connectionListener(socket) {
322}
323
343function connectionListener(socket) {
344}
345
324
325module.exports = {
326 STATUS_CODES: http.STATUS_CODES,
327 Server,
328 ServerResponse,
329 ServerRequest,
330 _connectionListener: connectionListener
331};
346module.exports = {
347 STATUS_CODES: http.STATUS_CODES,
348 Server,
349 ServerResponse,
350 ServerRequest,
351 _connectionListener: connectionListener
352};