{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka/issues/19528","repository_url":"https://api.github.com/repos/akka/akka","labels_url":"https://api.github.com/repos/akka/akka/issues/19528/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka/issues/19528/comments","events_url":"https://api.github.com/repos/akka/akka/issues/19528/events","html_url":"https://github.com/akka/akka/pull/19528","id":127627044,"number":19528,"title":"Http: HttpEntity stream cancellation","user":{"login":"ataraxer","id":1394955,"avatar_url":"https://avatars.githubusercontent.com/u/1394955?v=3","gravatar_id":"","url":"https://api.github.com/users/ataraxer","html_url":"https://github.com/ataraxer","followers_url":"https://api.github.com/users/ataraxer/followers","following_url":"https://api.github.com/users/ataraxer/following{/other_user}","gists_url":"https://api.github.com/users/ataraxer/gists{/gist_id}","starred_url":"https://api.github.com/users/ataraxer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ataraxer/subscriptions","organizations_url":"https://api.github.com/users/ataraxer/orgs","repos_url":"https://api.github.com/users/ataraxer/repos","events_url":"https://api.github.com/users/ataraxer/events{/privacy}","received_events_url":"https://api.github.com/users/ataraxer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akka/akka/labels/reviewed","name":"reviewed","color":"02e10c"},{"url":"https://api.github.com/repos/akka/akka/labels/tested","name":"tested","color":"d7e102"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":59,"created_at":"2016-01-20T08:08:48Z","updated_at":"2016-02-10T09:41:36Z","closed_at":"2016-02-10T09:41:27Z","pull_request":{"url":"https://api.github.com/repos/akka/akka/pulls/19528","html_url":"https://github.com/akka/akka/pull/19528","diff_url":"https://github.com/akka/akka/pull/19528.diff","patch_url":"https://github.com/akka/akka/pull/19528.patch"},"body":"Here's an attempt to solve issues #18010 and #18203.\r\n\r\nFirst commit can be treated as a simpler version of the solution, which involves adding `eagerClose` flag to `splitWhen` in order to define how substream cancelation should be treated: by draining the remaining elements in order to prevent stalling (current behaviour) or cancelling the stage altogether.\r\n\r\nSecond one introduces custom stage instead of `splitWhen/prefixAndTail` pipeline, which would allow to add `eagerClose` flag to `outgoingConnection` without adding flag to `splitWhen`/`splitAt` if this change isn't plausible.\r\n\r\nI used https://github.com/akka/akka/commit/ced5aa7ddcac1408e08ed159da9a04fecfad18ed as a reference, however there are some slight changes which will be marked in comments to particular lines."},"comment":{"url":"https://api.github.com/repos/akka/akka/issues/comments/182279801","html_url":"https://github.com/akka/akka/pull/19528#issuecomment-182279801","issue_url":"https://api.github.com/repos/akka/akka/issues/19528","id":182279801,"user":{"login":"ktoso","id":120979,"avatar_url":"https://avatars.githubusercontent.com/u/120979?v=3","gravatar_id":"","url":"https://api.github.com/users/ktoso","html_url":"https://github.com/ktoso","followers_url":"https://api.github.com/users/ktoso/followers","following_url":"https://api.github.com/users/ktoso/following{/other_user}","gists_url":"https://api.github.com/users/ktoso/gists{/gist_id}","starred_url":"https://api.github.com/users/ktoso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktoso/subscriptions","organizations_url":"https://api.github.com/users/ktoso/orgs","repos_url":"https://api.github.com/users/ktoso/repos","events_url":"https://api.github.com/users/ktoso/events{/privacy}","received_events_url":"https://api.github.com/users/ktoso/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T09:41:35Z","updated_at":"2016-02-10T09:41:35Z","body":"Thanks again, great contrib! :)"}}