engine.io.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.protocol = exports.Transport = exports.Socket = exports.uServer = exports.parser = exports.transports = exports.Server = void 0;
  4. exports.listen = listen;
  5. exports.attach = attach;
  6. const http_1 = require("http");
  7. const server_1 = require("./server");
  8. Object.defineProperty(exports, "Server", { enumerable: true, get: function () { return server_1.Server; } });
  9. const index_1 = require("./transports/index");
  10. exports.transports = index_1.default;
  11. const parser = require("engine.io-parser");
  12. exports.parser = parser;
  13. var userver_1 = require("./userver");
  14. Object.defineProperty(exports, "uServer", { enumerable: true, get: function () { return userver_1.uServer; } });
  15. var socket_1 = require("./socket");
  16. Object.defineProperty(exports, "Socket", { enumerable: true, get: function () { return socket_1.Socket; } });
  17. var transport_1 = require("./transport");
  18. Object.defineProperty(exports, "Transport", { enumerable: true, get: function () { return transport_1.Transport; } });
  19. exports.protocol = parser.protocol;
  20. /**
  21. * Creates an http.Server exclusively used for WS upgrades.
  22. *
  23. * @param {Number} port
  24. * @param {Function} callback
  25. * @param {Object} options
  26. * @return {Server} websocket.io server
  27. */
  28. function listen(port, options, fn) {
  29. if ("function" === typeof options) {
  30. fn = options;
  31. options = {};
  32. }
  33. const server = (0, http_1.createServer)(function (req, res) {
  34. res.writeHead(501);
  35. res.end("Not Implemented");
  36. });
  37. // create engine server
  38. const engine = attach(server, options);
  39. engine.httpServer = server;
  40. server.listen(port, fn);
  41. return engine;
  42. }
  43. /**
  44. * Captures upgrade requests for a http.Server.
  45. *
  46. * @param {http.Server} server
  47. * @param {Object} options
  48. * @return {Server} engine server
  49. */
  50. function attach(server, options) {
  51. const engine = new server_1.Server(options);
  52. engine.attach(server, options);
  53. return engine;
  54. }