├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── dependabot.yml └── workflows │ ├── build.yml │ ├── ci.yml │ └── coverage.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── CHANGELOG.md ├── LICENSE ├── README.md ├── benchmark ├── CHANGELOG.md ├── README.md ├── bench-ws.js ├── express-ws.js ├── fast-ws.js ├── nanoexpress.js ├── package.json ├── post.lua ├── run.sh ├── socket-io.js └── static │ └── index.html ├── commitlint.config.js ├── docs ├── Client.md ├── README.md ├── Request.md ├── Response.md ├── Server.md └── WSClient.md ├── lerna.json ├── package.json ├── packages ├── client │ ├── .npmignore │ ├── README.md │ ├── base.js │ ├── browser.js │ ├── index.js │ ├── node.js │ └── package.json └── server │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── js │ ├── connection.js │ ├── constants.js │ ├── errors.js │ ├── index.js │ ├── logger.js │ ├── render.js │ ├── request.js │ ├── response.js │ ├── routes.js │ ├── status.js │ ├── utils.js │ ├── websocket.js │ └── ws-protocol │ │ ├── basic.js │ │ ├── echo.js │ │ └── fast-ws.js │ └── package.json ├── test ├── cases │ ├── http-client-abort.js │ ├── http-get-query.js │ ├── http-head.js │ ├── http-header-value.js │ ├── http-js-var-escape.js │ ├── http-pipe-body-stream-later-1.js │ ├── http-pipe-body-stream-later-2.js │ ├── http-pipe-body-stream.js │ ├── http-pipe-file-stream-range.js │ ├── http-pipe-file-stream.js │ ├── http-pipe-http-stream.js │ ├── http-pipe-stream-error.js │ ├── http-post-form-urlencoded.js │ ├── http-post-json.js │ ├── http-post-large.js │ ├── http-post-multipart.js │ ├── http-remote-address.js │ ├── http-sse.js │ ├── http-static.js │ ├── http-url-param.js │ ├── http-xml-escape.js │ ├── ws-client.js │ ├── ws-draining.js │ ├── ws-echo-client.js │ ├── ws-upgrade.js │ ├── wss-client.js │ └── wss-echo-client.js ├── index.js ├── prepare │ ├── app.js │ ├── http.js │ ├── https.js │ └── index.js └── static │ └── index.html └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | **/deps/ 2 | test/ 3 | benchmark/ 4 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/coverage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.github/workflows/coverage.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/CHANGELOG.md -------------------------------------------------------------------------------- /benchmark/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/README.md -------------------------------------------------------------------------------- /benchmark/bench-ws.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/bench-ws.js -------------------------------------------------------------------------------- /benchmark/express-ws.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/express-ws.js -------------------------------------------------------------------------------- /benchmark/fast-ws.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/fast-ws.js -------------------------------------------------------------------------------- /benchmark/nanoexpress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/nanoexpress.js -------------------------------------------------------------------------------- /benchmark/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/package.json -------------------------------------------------------------------------------- /benchmark/post.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/post.lua -------------------------------------------------------------------------------- /benchmark/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/run.sh -------------------------------------------------------------------------------- /benchmark/socket-io.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/benchmark/socket-io.js -------------------------------------------------------------------------------- /benchmark/static/index.html: -------------------------------------------------------------------------------- 1 | TEST 2 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'] 3 | } 4 | -------------------------------------------------------------------------------- /docs/Client.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/docs/Client.md -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/Request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/docs/Request.md -------------------------------------------------------------------------------- /docs/Response.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/docs/Response.md -------------------------------------------------------------------------------- /docs/Server.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/docs/Server.md -------------------------------------------------------------------------------- /docs/WSClient.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/docs/WSClient.md -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/lerna.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/package.json -------------------------------------------------------------------------------- /packages/client/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/.npmignore -------------------------------------------------------------------------------- /packages/client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/README.md -------------------------------------------------------------------------------- /packages/client/base.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/base.js -------------------------------------------------------------------------------- /packages/client/browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/browser.js -------------------------------------------------------------------------------- /packages/client/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/index.js -------------------------------------------------------------------------------- /packages/client/node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/node.js -------------------------------------------------------------------------------- /packages/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/client/package.json -------------------------------------------------------------------------------- /packages/server/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/.npmignore -------------------------------------------------------------------------------- /packages/server/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/CHANGELOG.md -------------------------------------------------------------------------------- /packages/server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/README.md -------------------------------------------------------------------------------- /packages/server/js/connection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/connection.js -------------------------------------------------------------------------------- /packages/server/js/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/constants.js -------------------------------------------------------------------------------- /packages/server/js/errors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/errors.js -------------------------------------------------------------------------------- /packages/server/js/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/index.js -------------------------------------------------------------------------------- /packages/server/js/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/logger.js -------------------------------------------------------------------------------- /packages/server/js/render.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/render.js -------------------------------------------------------------------------------- /packages/server/js/request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/request.js -------------------------------------------------------------------------------- /packages/server/js/response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/response.js -------------------------------------------------------------------------------- /packages/server/js/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/routes.js -------------------------------------------------------------------------------- /packages/server/js/status.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/status.js -------------------------------------------------------------------------------- /packages/server/js/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/utils.js -------------------------------------------------------------------------------- /packages/server/js/websocket.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/websocket.js -------------------------------------------------------------------------------- /packages/server/js/ws-protocol/basic.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/ws-protocol/basic.js -------------------------------------------------------------------------------- /packages/server/js/ws-protocol/echo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/ws-protocol/echo.js -------------------------------------------------------------------------------- /packages/server/js/ws-protocol/fast-ws.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/js/ws-protocol/fast-ws.js -------------------------------------------------------------------------------- /packages/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/packages/server/package.json -------------------------------------------------------------------------------- /test/cases/http-client-abort.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-client-abort.js -------------------------------------------------------------------------------- /test/cases/http-get-query.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-get-query.js -------------------------------------------------------------------------------- /test/cases/http-head.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-head.js -------------------------------------------------------------------------------- /test/cases/http-header-value.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-header-value.js -------------------------------------------------------------------------------- /test/cases/http-js-var-escape.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-js-var-escape.js -------------------------------------------------------------------------------- /test/cases/http-pipe-body-stream-later-1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-body-stream-later-1.js -------------------------------------------------------------------------------- /test/cases/http-pipe-body-stream-later-2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-body-stream-later-2.js -------------------------------------------------------------------------------- /test/cases/http-pipe-body-stream.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-body-stream.js -------------------------------------------------------------------------------- /test/cases/http-pipe-file-stream-range.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-file-stream-range.js -------------------------------------------------------------------------------- /test/cases/http-pipe-file-stream.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-file-stream.js -------------------------------------------------------------------------------- /test/cases/http-pipe-http-stream.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-http-stream.js -------------------------------------------------------------------------------- /test/cases/http-pipe-stream-error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-pipe-stream-error.js -------------------------------------------------------------------------------- /test/cases/http-post-form-urlencoded.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-post-form-urlencoded.js -------------------------------------------------------------------------------- /test/cases/http-post-json.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-post-json.js -------------------------------------------------------------------------------- /test/cases/http-post-large.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-post-large.js -------------------------------------------------------------------------------- /test/cases/http-post-multipart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-post-multipart.js -------------------------------------------------------------------------------- /test/cases/http-remote-address.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-remote-address.js -------------------------------------------------------------------------------- /test/cases/http-sse.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-sse.js -------------------------------------------------------------------------------- /test/cases/http-static.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-static.js -------------------------------------------------------------------------------- /test/cases/http-url-param.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-url-param.js -------------------------------------------------------------------------------- /test/cases/http-xml-escape.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/http-xml-escape.js -------------------------------------------------------------------------------- /test/cases/ws-client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/ws-client.js -------------------------------------------------------------------------------- /test/cases/ws-draining.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/ws-draining.js -------------------------------------------------------------------------------- /test/cases/ws-echo-client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/ws-echo-client.js -------------------------------------------------------------------------------- /test/cases/ws-upgrade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/ws-upgrade.js -------------------------------------------------------------------------------- /test/cases/wss-client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/wss-client.js -------------------------------------------------------------------------------- /test/cases/wss-echo-client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/cases/wss-echo-client.js -------------------------------------------------------------------------------- /test/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/index.js -------------------------------------------------------------------------------- /test/prepare/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/prepare/app.js -------------------------------------------------------------------------------- /test/prepare/http.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/prepare/http.js -------------------------------------------------------------------------------- /test/prepare/https.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/prepare/https.js -------------------------------------------------------------------------------- /test/prepare/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/test/prepare/index.js -------------------------------------------------------------------------------- /test/static/index.html: -------------------------------------------------------------------------------- 1 | TEST_DATA 2 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans00/fastWS/HEAD/yarn.lock --------------------------------------------------------------------------------