X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fexpress-ws%2Flib%2Findex.js;fp=node_modules%2Fexpress-ws%2Flib%2Findex.js;h=0000000000000000000000000000000000000000;hp=8e3e696016762cbd58d51efbfb36ef26f7668fd5;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/express-ws/lib/index.js b/node_modules/express-ws/lib/index.js deleted file mode 100644 index 8e3e696..0000000 --- a/node_modules/express-ws/lib/index.js +++ /dev/null @@ -1,110 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = expressWs; - -var _http = require('http'); - -var _http2 = _interopRequireDefault(_http); - -var _express = require('express'); - -var _express2 = _interopRequireDefault(_express); - -var _ws = require('ws'); - -var _ws2 = _interopRequireDefault(_ws); - -var _websocketUrl = require('./websocket-url'); - -var _websocketUrl2 = _interopRequireDefault(_websocketUrl); - -var _addWsMethod = require('./add-ws-method'); - -var _addWsMethod2 = _interopRequireDefault(_addWsMethod); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function expressWs(app, httpServer) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - - var server = httpServer; - - if (server === null || server === undefined) { - /* No HTTP server was explicitly provided, create one for our Express application. */ - server = _http2.default.createServer(app); - - app.listen = function serverListen() { - var _server; - - return (_server = server).listen.apply(_server, arguments); - }; - } - - /* Make our custom `.ws` method available directly on the Express application. You should - * really be using Routers, though. */ - (0, _addWsMethod2.default)(app); - - /* Monkeypatch our custom `.ws` method into Express' Router prototype. This makes it possible, - * when using the standard Express Router, to use the `.ws` method without any further calls - * to `makeRouter`. When using a custom router, the use of `makeRouter` may still be necessary. - * - * This approach works, because Express does a strange mixin hack - the Router factory - * function is simultaneously the prototype that gets assigned to the resulting Router - * object. */ - if (!options.leaveRouterUntouched) { - (0, _addWsMethod2.default)(_express2.default.Router); - } - - // allow caller to pass in options to WebSocketServer constructor - var wsOptions = options.wsOptions || {}; - wsOptions.server = server; - var wsServer = new _ws2.default.Server(wsOptions); - - wsServer.on('connection', function (socket, request) { - if ('upgradeReq' in socket) { - request = socket.upgradeReq; - } - - request.ws = socket; - request.wsHandled = false; - - /* By setting this fake `.url` on the request, we ensure that it will end up in the fake - * `.get` handler that we defined above - where the wrapper will then unpack the `.ws` - * property, indicate that the WebSocket has been handled, and call the actual handler. */ - request.url = (0, _websocketUrl2.default)(request.url); - - var dummyResponse = new _http2.default.ServerResponse(request); - - dummyResponse.writeHead = function writeHead(statusCode) { - if (statusCode > 200) { - /* Something in the middleware chain signalled an error. */ - dummyResponse._header = ''; - socket.close(); - } - }; - - app.handle(request, dummyResponse, function () { - if (!request.wsHandled) { - /* There was no matching WebSocket-specific route for this request. We'll close - * the connection, as no endpoint was able to handle the request anyway... */ - socket.close(); - } - }); - }); - - return { - app: app, - getWss: function getWss() { - return wsServer; - }, - applyTo: function applyTo(router) { - (0, _addWsMethod2.default)(router); - } - }; -} /* This module does a lot of monkeypatching, but unfortunately that appears to be the only way to - * accomplish this kind of stuff in Express. - * - * Here be dragons. */ \ No newline at end of file