{"action":"created","issue":{"url":"https://api.github.com/repos/manastech/crystal/issues/1656","labels_url":"https://api.github.com/repos/manastech/crystal/issues/1656/labels{/name}","comments_url":"https://api.github.com/repos/manastech/crystal/issues/1656/comments","events_url":"https://api.github.com/repos/manastech/crystal/issues/1656/events","html_url":"https://github.com/manastech/crystal/pull/1656","id":109068276,"number":1656,"title":"Websocket refactoring","user":{"login":"jreinert","id":1074324,"avatar_url":"https://avatars.githubusercontent.com/u/1074324?v=3","gravatar_id":"","url":"https://api.github.com/users/jreinert","html_url":"https://github.com/jreinert","followers_url":"https://api.github.com/users/jreinert/followers","following_url":"https://api.github.com/users/jreinert/following{/other_user}","gists_url":"https://api.github.com/users/jreinert/gists{/gist_id}","starred_url":"https://api.github.com/users/jreinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreinert/subscriptions","organizations_url":"https://api.github.com/users/jreinert/orgs","repos_url":"https://api.github.com/users/jreinert/repos","events_url":"https://api.github.com/users/jreinert/events{/privacy}","received_events_url":"https://api.github.com/users/jreinert/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/manastech/crystal/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/manastech/crystal/labels/standard%20library","name":"standard library","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":26,"created_at":"2015-09-30T11:34:59Z","updated_at":"2015-10-14T19:48:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/manastech/crystal/pulls/1656","html_url":"https://github.com/manastech/crystal/pull/1656","diff_url":"https://github.com/manastech/crystal/pull/1656.diff","patch_url":"https://github.com/manastech/crystal/pull/1656.patch"},"body":"**Update**: this PR enables writing binary WebSocket frames with an overload for send. It also merges `send` and `send_masked` in favor of a `mask` param which is `false` by default. In addition it adds a send overload which allows it to specify the Opcode and Flags to be used. We will need this in the WebSocket handler to answer to Ping and Close frames. Last but not least this adds `text_stream` and `binary_stream` methods which allow streaming data of unknown length over WebSocket.\r\n\r\n> I'll open this now although it's a WIP to get some feedback. Expect travis to fail. This PR is dependent on many of my other PR, so to get a working copy you'd need to check out my development branch https://github.com/jreinert/crystal/tree/development"},"comment":{"url":"https://api.github.com/repos/manastech/crystal/issues/comments/148175491","html_url":"https://github.com/manastech/crystal/pull/1656#issuecomment-148175491","issue_url":"https://api.github.com/repos/manastech/crystal/issues/1656","id":148175491,"user":{"login":"jreinert","id":1074324,"avatar_url":"https://avatars.githubusercontent.com/u/1074324?v=3","gravatar_id":"","url":"https://api.github.com/users/jreinert","html_url":"https://github.com/jreinert","followers_url":"https://api.github.com/users/jreinert/followers","following_url":"https://api.github.com/users/jreinert/following{/other_user}","gists_url":"https://api.github.com/users/jreinert/gists{/gist_id}","starred_url":"https://api.github.com/users/jreinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreinert/subscriptions","organizations_url":"https://api.github.com/users/jreinert/orgs","repos_url":"https://api.github.com/users/jreinert/repos","events_url":"https://api.github.com/users/jreinert/events{/privacy}","received_events_url":"https://api.github.com/users/jreinert/received_events","type":"User","site_admin":false},"created_at":"2015-10-14T19:48:36Z","updated_at":"2015-10-14T19:48:36Z","body":"@asterite done :) let me know if i missed something"}}