├── .editorconfig ├── .gitignore ├── .prettierrc ├── http2 ├── exercise │ ├── backend │ │ └── server.js │ ├── frontend │ │ ├── http2-chat.js │ │ ├── index.html │ │ └── style.css │ ├── package-lock.json │ └── package.json └── push │ ├── backend │ └── server.js │ ├── frontend │ ├── http2-chat.js │ ├── index.html │ └── style.css │ ├── package-lock.json │ └── package.json ├── polling ├── backoff-and-retry │ ├── backend │ │ └── server.js │ ├── frontend │ │ ├── index.html │ │ ├── polling-chat.js │ │ └── style.css │ ├── package-lock.json │ └── package.json ├── exercise │ ├── backend │ │ └── server.js │ ├── frontend │ │ ├── index.html │ │ ├── polling-chat.js │ │ └── style.css │ ├── package-lock.json │ └── package.json ├── no-pause │ ├── backend │ │ └── server.js │ ├── frontend │ │ ├── index.html │ │ ├── polling-chat.js │ │ └── style.css │ ├── package-lock.json │ └── package.json └── pause-on-unfocus │ ├── backend │ └── server.js │ ├── frontend │ ├── index.html │ ├── polling-chat.js │ └── style.css │ ├── package-lock.json │ └── package.json └── websockets ├── exercise-raw ├── backend │ ├── generate-accept-value.js │ ├── obj-to-response.js │ ├── parse-message.js │ └── server.js ├── frontend │ ├── index.html │ ├── raw-chat.js │ └── style.css ├── package-lock.json └── package.json ├── exercise-socketio ├── backend │ └── server.js ├── frontend │ ├── index.html │ ├── socketio-chat.js │ └── style.css ├── package-lock.json └── package.json ├── raw ├── backend │ ├── generate-accept-value.js │ ├── obj-to-response.js │ ├── parse-message.js │ └── server.js ├── frontend │ ├── index.html │ ├── raw-chat.js │ └── style.css ├── package-lock.json └── package.json └── socketio ├── backend └── server.js ├── frontend ├── index.html ├── socketio-chat.js └── style.css ├── package-lock.json └── package.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | .cache/ 4 | public/ 5 | *.pem 6 | *.crt 7 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /http2/exercise/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/exercise/backend/server.js -------------------------------------------------------------------------------- /http2/exercise/frontend/http2-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/exercise/frontend/http2-chat.js -------------------------------------------------------------------------------- /http2/exercise/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/exercise/frontend/index.html -------------------------------------------------------------------------------- /http2/exercise/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/exercise/frontend/style.css -------------------------------------------------------------------------------- /http2/exercise/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/exercise/package-lock.json -------------------------------------------------------------------------------- /http2/exercise/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/exercise/package.json -------------------------------------------------------------------------------- /http2/push/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/push/backend/server.js -------------------------------------------------------------------------------- /http2/push/frontend/http2-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/push/frontend/http2-chat.js -------------------------------------------------------------------------------- /http2/push/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/push/frontend/index.html -------------------------------------------------------------------------------- /http2/push/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/push/frontend/style.css -------------------------------------------------------------------------------- /http2/push/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/push/package-lock.json -------------------------------------------------------------------------------- /http2/push/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/http2/push/package.json -------------------------------------------------------------------------------- /polling/backoff-and-retry/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/backoff-and-retry/backend/server.js -------------------------------------------------------------------------------- /polling/backoff-and-retry/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/backoff-and-retry/frontend/index.html -------------------------------------------------------------------------------- /polling/backoff-and-retry/frontend/polling-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/backoff-and-retry/frontend/polling-chat.js -------------------------------------------------------------------------------- /polling/backoff-and-retry/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/backoff-and-retry/frontend/style.css -------------------------------------------------------------------------------- /polling/backoff-and-retry/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/backoff-and-retry/package-lock.json -------------------------------------------------------------------------------- /polling/backoff-and-retry/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/backoff-and-retry/package.json -------------------------------------------------------------------------------- /polling/exercise/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/exercise/backend/server.js -------------------------------------------------------------------------------- /polling/exercise/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/exercise/frontend/index.html -------------------------------------------------------------------------------- /polling/exercise/frontend/polling-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/exercise/frontend/polling-chat.js -------------------------------------------------------------------------------- /polling/exercise/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/exercise/frontend/style.css -------------------------------------------------------------------------------- /polling/exercise/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/exercise/package-lock.json -------------------------------------------------------------------------------- /polling/exercise/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/exercise/package.json -------------------------------------------------------------------------------- /polling/no-pause/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/no-pause/backend/server.js -------------------------------------------------------------------------------- /polling/no-pause/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/no-pause/frontend/index.html -------------------------------------------------------------------------------- /polling/no-pause/frontend/polling-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/no-pause/frontend/polling-chat.js -------------------------------------------------------------------------------- /polling/no-pause/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/no-pause/frontend/style.css -------------------------------------------------------------------------------- /polling/no-pause/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/no-pause/package-lock.json -------------------------------------------------------------------------------- /polling/no-pause/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/no-pause/package.json -------------------------------------------------------------------------------- /polling/pause-on-unfocus/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/pause-on-unfocus/backend/server.js -------------------------------------------------------------------------------- /polling/pause-on-unfocus/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/pause-on-unfocus/frontend/index.html -------------------------------------------------------------------------------- /polling/pause-on-unfocus/frontend/polling-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/pause-on-unfocus/frontend/polling-chat.js -------------------------------------------------------------------------------- /polling/pause-on-unfocus/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/pause-on-unfocus/frontend/style.css -------------------------------------------------------------------------------- /polling/pause-on-unfocus/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/pause-on-unfocus/package-lock.json -------------------------------------------------------------------------------- /polling/pause-on-unfocus/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/polling/pause-on-unfocus/package.json -------------------------------------------------------------------------------- /websockets/exercise-raw/backend/generate-accept-value.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/backend/generate-accept-value.js -------------------------------------------------------------------------------- /websockets/exercise-raw/backend/obj-to-response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/backend/obj-to-response.js -------------------------------------------------------------------------------- /websockets/exercise-raw/backend/parse-message.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/backend/parse-message.js -------------------------------------------------------------------------------- /websockets/exercise-raw/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/backend/server.js -------------------------------------------------------------------------------- /websockets/exercise-raw/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/frontend/index.html -------------------------------------------------------------------------------- /websockets/exercise-raw/frontend/raw-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/frontend/raw-chat.js -------------------------------------------------------------------------------- /websockets/exercise-raw/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/frontend/style.css -------------------------------------------------------------------------------- /websockets/exercise-raw/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/package-lock.json -------------------------------------------------------------------------------- /websockets/exercise-raw/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-raw/package.json -------------------------------------------------------------------------------- /websockets/exercise-socketio/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-socketio/backend/server.js -------------------------------------------------------------------------------- /websockets/exercise-socketio/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-socketio/frontend/index.html -------------------------------------------------------------------------------- /websockets/exercise-socketio/frontend/socketio-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-socketio/frontend/socketio-chat.js -------------------------------------------------------------------------------- /websockets/exercise-socketio/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-socketio/frontend/style.css -------------------------------------------------------------------------------- /websockets/exercise-socketio/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-socketio/package-lock.json -------------------------------------------------------------------------------- /websockets/exercise-socketio/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/exercise-socketio/package.json -------------------------------------------------------------------------------- /websockets/raw/backend/generate-accept-value.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/backend/generate-accept-value.js -------------------------------------------------------------------------------- /websockets/raw/backend/obj-to-response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/backend/obj-to-response.js -------------------------------------------------------------------------------- /websockets/raw/backend/parse-message.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/backend/parse-message.js -------------------------------------------------------------------------------- /websockets/raw/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/backend/server.js -------------------------------------------------------------------------------- /websockets/raw/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/frontend/index.html -------------------------------------------------------------------------------- /websockets/raw/frontend/raw-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/frontend/raw-chat.js -------------------------------------------------------------------------------- /websockets/raw/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/frontend/style.css -------------------------------------------------------------------------------- /websockets/raw/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/package-lock.json -------------------------------------------------------------------------------- /websockets/raw/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/raw/package.json -------------------------------------------------------------------------------- /websockets/socketio/backend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/socketio/backend/server.js -------------------------------------------------------------------------------- /websockets/socketio/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/socketio/frontend/index.html -------------------------------------------------------------------------------- /websockets/socketio/frontend/socketio-chat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/socketio/frontend/socketio-chat.js -------------------------------------------------------------------------------- /websockets/socketio/frontend/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/socketio/frontend/style.css -------------------------------------------------------------------------------- /websockets/socketio/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/socketio/package-lock.json -------------------------------------------------------------------------------- /websockets/socketio/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/btholt/realtime-exercises/HEAD/websockets/socketio/package.json --------------------------------------------------------------------------------