{"action":"created","issue":{"url":"https://api.github.com/repos/worsews/worse/issues/6","repository_url":"https://api.github.com/repos/worsews/worse","labels_url":"https://api.github.com/repos/worsews/worse/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/worsews/worse/issues/6/comments","events_url":"https://api.github.com/repos/worsews/worse/issues/6/events","html_url":"https://github.com/worsews/worse/issues/6","id":150148685,"number":6,"title":"server custom validation architecture","user":{"login":"SEAPUNK","id":4400726,"avatar_url":"https://avatars.githubusercontent.com/u/4400726?v=3","gravatar_id":"","url":"https://api.github.com/users/SEAPUNK","html_url":"https://github.com/SEAPUNK","followers_url":"https://api.github.com/users/SEAPUNK/followers","following_url":"https://api.github.com/users/SEAPUNK/following{/other_user}","gists_url":"https://api.github.com/users/SEAPUNK/gists{/gist_id}","starred_url":"https://api.github.com/users/SEAPUNK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SEAPUNK/subscriptions","organizations_url":"https://api.github.com/users/SEAPUNK/orgs","repos_url":"https://api.github.com/users/SEAPUNK/repos","events_url":"https://api.github.com/users/SEAPUNK/events{/privacy}","received_events_url":"https://api.github.com/users/SEAPUNK/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-04-21T18:08:58Z","updated_at":"2016-04-21T18:20:22Z","closed_at":null,"body":"so, i am halfway done with the server handshaking part of the server, but now i have a couple of things to think about and then implement:\r\n\r\nfirst off, handshake acceptance. while i want validation to follow the RFC, i also want to allow people to change how those parts are handled.\r\n\r\ncurrently, there is `WSServer.handleUpgrade()`, which is a call-and-forget function that handles connection upgrades. all listeners' upgrade handlers call this function, optionally providing themselves for some additional handling.\r\n\r\nthese are the things that are being checked/processed:\r\n\r\n* [listener] closeEarly setting (whether to close the connection early if any of the validation does not succeed\r\n* upgrade headers (RFC required headers)\r\n* [listener] path\r\n* origin\r\n* protocol selection\r\n* extensions\r\n* finalizing and sending of data\r\n\r\n[cont.]"},"comment":{"url":"https://api.github.com/repos/worsews/worse/issues/comments/213047524","html_url":"https://github.com/worsews/worse/issues/6#issuecomment-213047524","issue_url":"https://api.github.com/repos/worsews/worse/issues/6","id":213047524,"user":{"login":"SEAPUNK","id":4400726,"avatar_url":"https://avatars.githubusercontent.com/u/4400726?v=3","gravatar_id":"","url":"https://api.github.com/users/SEAPUNK","html_url":"https://github.com/SEAPUNK","followers_url":"https://api.github.com/users/SEAPUNK/followers","following_url":"https://api.github.com/users/SEAPUNK/following{/other_user}","gists_url":"https://api.github.com/users/SEAPUNK/gists{/gist_id}","starred_url":"https://api.github.com/users/SEAPUNK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SEAPUNK/subscriptions","organizations_url":"https://api.github.com/users/SEAPUNK/orgs","repos_url":"https://api.github.com/users/SEAPUNK/repos","events_url":"https://api.github.com/users/SEAPUNK/events{/privacy}","received_events_url":"https://api.github.com/users/SEAPUNK/received_events","type":"User","site_admin":false},"created_at":"2016-04-21T18:20:22Z","updated_at":"2016-04-21T18:20:22Z","body":"good stuff"}}