{"action":"created","comment":{"url":"https://api.github.com/repos/akka/akka/pulls/comments/58185851","id":58185851,"diff_hunk":"@@ -63,17 +63,32 @@ private[http] object StreamUtils {\n \n   def captureTermination[T, Mat](source: Source[T, Mat]): (Source[T, Mat], Future[Unit]) = {\n     val promise = Promise[Unit]()\n-    val transformer = new PushStage[T, T] {\n-      def onPush(element: T, ctx: Context[T]) = ctx.push(element)\n-      override def onUpstreamFailure(cause: Throwable, ctx: Context[T]) = {\n-        promise.failure(cause)\n-        ctx.fail(cause)\n-      }\n-      override def postStop(): Unit = {\n-        promise.trySuccess(())\n+    val transformer = new SimpleLinearGraphStage[T] {\n+      override def createLogic(inheritedAttributes: Attributes): GraphStageLogic = new GraphStageLogic(shape) {","path":"akka-http-core/src/main/scala/akka/http/impl/util/StreamUtils.scala","position":null,"original_position":13,"commit_id":"8bb3aae2ed3e0434bcd62633a12488c9145a822f","original_commit_id":"a8347244380d6d360200967a374085929a3ede09","user":{"login":"leachbj","id":123051,"avatar_url":"https://avatars.githubusercontent.com/u/123051?v=3","gravatar_id":"","url":"https://api.github.com/users/leachbj","html_url":"https://github.com/leachbj","followers_url":"https://api.github.com/users/leachbj/followers","following_url":"https://api.github.com/users/leachbj/following{/other_user}","gists_url":"https://api.github.com/users/leachbj/gists{/gist_id}","starred_url":"https://api.github.com/users/leachbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leachbj/subscriptions","organizations_url":"https://api.github.com/users/leachbj/orgs","repos_url":"https://api.github.com/users/leachbj/repos","events_url":"https://api.github.com/users/leachbj/events{/privacy}","received_events_url":"https://api.github.com/users/leachbj/received_events","type":"User","site_admin":false},"body":"Done","created_at":"2016-04-01T10:03:27Z","updated_at":"2016-04-01T10:03:27Z","html_url":"https://github.com/akka/akka/pull/20194#discussion_r58185851","pull_request_url":"https://api.github.com/repos/akka/akka/pulls/20194","_links":{"self":{"href":"https://api.github.com/repos/akka/akka/pulls/comments/58185851"},"html":{"href":"https://github.com/akka/akka/pull/20194#discussion_r58185851"},"pull_request":{"href":"https://api.github.com/repos/akka/akka/pulls/20194"}}},"pull_request":{"url":"https://api.github.com/repos/akka/akka/pulls/20194","id":64873271,"html_url":"https://github.com/akka/akka/pull/20194","diff_url":"https://github.com/akka/akka/pull/20194.diff","patch_url":"https://github.com/akka/akka/pull/20194.patch","issue_url":"https://api.github.com/repos/akka/akka/issues/20194","number":20194,"state":"open","locked":false,"title":"=htc #19834 Replaced PushStage based captureTermination with GraphStage","user":{"login":"leachbj","id":123051,"avatar_url":"https://avatars.githubusercontent.com/u/123051?v=3","gravatar_id":"","url":"https://api.github.com/users/leachbj","html_url":"https://github.com/leachbj","followers_url":"https://api.github.com/users/leachbj/followers","following_url":"https://api.github.com/users/leachbj/following{/other_user}","gists_url":"https://api.github.com/users/leachbj/gists{/gist_id}","starred_url":"https://api.github.com/users/leachbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leachbj/subscriptions","organizations_url":"https://api.github.com/users/leachbj/orgs","repos_url":"https://api.github.com/users/leachbj/repos","events_url":"https://api.github.com/users/leachbj/events{/privacy}","received_events_url":"https://api.github.com/users/leachbj/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-03-31T23:05:26Z","updated_at":"2016-04-01T10:03:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a6b457b07c73f971479d10f5204e8a53df5320d8","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/akka/akka/pulls/20194/commits","review_comments_url":"https://api.github.com/repos/akka/akka/pulls/20194/comments","review_comment_url":"https://api.github.com/repos/akka/akka/pulls/comments{/number}","comments_url":"https://api.github.com/repos/akka/akka/issues/20194/comments","statuses_url":"https://api.github.com/repos/akka/akka/statuses/8bb3aae2ed3e0434bcd62633a12488c9145a822f","head":{"label":"leachbj:19834-replace-captureTermination-with-GraphStage","ref":"19834-replace-captureTermination-with-GraphStage","sha":"8bb3aae2ed3e0434bcd62633a12488c9145a822f","user":{"login":"leachbj","id":123051,"avatar_url":"https://avatars.githubusercontent.com/u/123051?v=3","gravatar_id":"","url":"https://api.github.com/users/leachbj","html_url":"https://github.com/leachbj","followers_url":"https://api.github.com/users/leachbj/followers","following_url":"https://api.github.com/users/leachbj/following{/other_user}","gists_url":"https://api.github.com/users/leachbj/gists{/gist_id}","starred_url":"https://api.github.com/users/leachbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leachbj/subscriptions","organizations_url":"https://api.github.com/users/leachbj/orgs","repos_url":"https://api.github.com/users/leachbj/repos","events_url":"https://api.github.com/users/leachbj/events{/privacy}","received_events_url":"https://api.github.com/users/leachbj/received_events","type":"User","site_admin":false},"repo":{"id":23105606,"name":"akka","full_name":"leachbj/akka","owner":{"login":"leachbj","id":123051,"avatar_url":"https://avatars.githubusercontent.com/u/123051?v=3","gravatar_id":"","url":"https://api.github.com/users/leachbj","html_url":"https://github.com/leachbj","followers_url":"https://api.github.com/users/leachbj/followers","following_url":"https://api.github.com/users/leachbj/following{/other_user}","gists_url":"https://api.github.com/users/leachbj/gists{/gist_id}","starred_url":"https://api.github.com/users/leachbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leachbj/subscriptions","organizations_url":"https://api.github.com/users/leachbj/orgs","repos_url":"https://api.github.com/users/leachbj/repos","events_url":"https://api.github.com/users/leachbj/events{/privacy}","received_events_url":"https://api.github.com/users/leachbj/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/leachbj/akka","description":"Akka Project","fork":true,"url":"https://api.github.com/repos/leachbj/akka","forks_url":"https://api.github.com/repos/leachbj/akka/forks","keys_url":"https://api.github.com/repos/leachbj/akka/keys{/key_id}","collaborators_url":"https://api.github.com/repos/leachbj/akka/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/leachbj/akka/teams","hooks_url":"https://api.github.com/repos/leachbj/akka/hooks","issue_events_url":"https://api.github.com/repos/leachbj/akka/issues/events{/number}","events_url":"https://api.github.com/repos/leachbj/akka/events","assignees_url":"https://api.github.com/repos/leachbj/akka/assignees{/user}","branches_url":"https://api.github.com/repos/leachbj/akka/branches{/branch}","tags_url":"https://api.github.com/repos/leachbj/akka/tags","blobs_url":"https://api.github.com/repos/leachbj/akka/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/leachbj/akka/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/leachbj/akka/git/refs{/sha}","trees_url":"https://api.github.com/repos/leachbj/akka/git/trees{/sha}","statuses_url":"https://api.github.com/repos/leachbj/akka/statuses/{sha}","languages_url":"https://api.github.com/repos/leachbj/akka/languages","stargazers_url":"https://api.github.com/repos/leachbj/akka/stargazers","contributors_url":"https://api.github.com/repos/leachbj/akka/contributors","subscribers_url":"https://api.github.com/repos/leachbj/akka/subscribers","subscription_url":"https://api.github.com/repos/leachbj/akka/subscription","commits_url":"https://api.github.com/repos/leachbj/akka/commits{/sha}","git_commits_url":"https://api.github.com/repos/leachbj/akka/git/commits{/sha}","comments_url":"https://api.github.com/repos/leachbj/akka/comments{/number}","issue_comment_url":"https://api.github.com/repos/leachbj/akka/issues/comments{/number}","contents_url":"https://api.github.com/repos/leachbj/akka/contents/{+path}","compare_url":"https://api.github.com/repos/leachbj/akka/compare/{base}...{head}","merges_url":"https://api.github.com/repos/leachbj/akka/merges","archive_url":"https://api.github.com/repos/leachbj/akka/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/leachbj/akka/downloads","issues_url":"https://api.github.com/repos/leachbj/akka/issues{/number}","pulls_url":"https://api.github.com/repos/leachbj/akka/pulls{/number}","milestones_url":"https://api.github.com/repos/leachbj/akka/milestones{/number}","notifications_url":"https://api.github.com/repos/leachbj/akka/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/leachbj/akka/labels{/name}","releases_url":"https://api.github.com/repos/leachbj/akka/releases{/id}","deployments_url":"https://api.github.com/repos/leachbj/akka/deployments","created_at":"2014-08-19T10:09:31Z","updated_at":"2016-02-28T22:58:01Z","pushed_at":"2016-04-01T10:02:42Z","git_url":"git://github.com/leachbj/akka.git","ssh_url":"git@github.com:leachbj/akka.git","clone_url":"https://github.com/leachbj/akka.git","svn_url":"https://github.com/leachbj/akka","homepage":"http://akka.io","size":188871,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"akka:master","ref":"master","sha":"bd8fcc9d9aeafc2c49745e7519d13b3e0abc18e6","user":{"login":"akka","id":1496237,"avatar_url":"https://avatars.githubusercontent.com/u/1496237?v=3","gravatar_id":"","url":"https://api.github.com/users/akka","html_url":"https://github.com/akka","followers_url":"https://api.github.com/users/akka/followers","following_url":"https://api.github.com/users/akka/following{/other_user}","gists_url":"https://api.github.com/users/akka/gists{/gist_id}","starred_url":"https://api.github.com/users/akka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akka/subscriptions","organizations_url":"https://api.github.com/users/akka/orgs","repos_url":"https://api.github.com/users/akka/repos","events_url":"https://api.github.com/users/akka/events{/privacy}","received_events_url":"https://api.github.com/users/akka/received_events","type":"Organization","site_admin":false},"repo":{"id":130013,"name":"akka","full_name":"akka/akka","owner":{"login":"akka","id":1496237,"avatar_url":"https://avatars.githubusercontent.com/u/1496237?v=3","gravatar_id":"","url":"https://api.github.com/users/akka","html_url":"https://github.com/akka","followers_url":"https://api.github.com/users/akka/followers","following_url":"https://api.github.com/users/akka/following{/other_user}","gists_url":"https://api.github.com/users/akka/gists{/gist_id}","starred_url":"https://api.github.com/users/akka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akka/subscriptions","organizations_url":"https://api.github.com/users/akka/orgs","repos_url":"https://api.github.com/users/akka/repos","events_url":"https://api.github.com/users/akka/events{/privacy}","received_events_url":"https://api.github.com/users/akka/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akka/akka","description":"Akka Project","fork":false,"url":"https://api.github.com/repos/akka/akka","forks_url":"https://api.github.com/repos/akka/akka/forks","keys_url":"https://api.github.com/repos/akka/akka/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akka/akka/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akka/akka/teams","hooks_url":"https://api.github.com/repos/akka/akka/hooks","issue_events_url":"https://api.github.com/repos/akka/akka/issues/events{/number}","events_url":"https://api.github.com/repos/akka/akka/events","assignees_url":"https://api.github.com/repos/akka/akka/assignees{/user}","branches_url":"https://api.github.com/repos/akka/akka/branches{/branch}","tags_url":"https://api.github.com/repos/akka/akka/tags","blobs_url":"https://api.github.com/repos/akka/akka/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akka/akka/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akka/akka/git/refs{/sha}","trees_url":"https://api.github.com/repos/akka/akka/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akka/akka/statuses/{sha}","languages_url":"https://api.github.com/repos/akka/akka/languages","stargazers_url":"https://api.github.com/repos/akka/akka/stargazers","contributors_url":"https://api.github.com/repos/akka/akka/contributors","subscribers_url":"https://api.github.com/repos/akka/akka/subscribers","subscription_url":"https://api.github.com/repos/akka/akka/subscription","commits_url":"https://api.github.com/repos/akka/akka/commits{/sha}","git_commits_url":"https://api.github.com/repos/akka/akka/git/commits{/sha}","comments_url":"https://api.github.com/repos/akka/akka/comments{/number}","issue_comment_url":"https://api.github.com/repos/akka/akka/issues/comments{/number}","contents_url":"https://api.github.com/repos/akka/akka/contents/{+path}","compare_url":"https://api.github.com/repos/akka/akka/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akka/akka/merges","archive_url":"https://api.github.com/repos/akka/akka/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akka/akka/downloads","issues_url":"https://api.github.com/repos/akka/akka/issues{/number}","pulls_url":"https://api.github.com/repos/akka/akka/pulls{/number}","milestones_url":"https://api.github.com/repos/akka/akka/milestones{/number}","notifications_url":"https://api.github.com/repos/akka/akka/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akka/akka/labels{/name}","releases_url":"https://api.github.com/repos/akka/akka/releases{/id}","deployments_url":"https://api.github.com/repos/akka/akka/deployments","created_at":"2009-02-16T12:51:54Z","updated_at":"2016-04-01T06:20:19Z","pushed_at":"2016-04-01T10:02:43Z","git_url":"git://github.com/akka/akka.git","ssh_url":"git@github.com:akka/akka.git","clone_url":"https://github.com/akka/akka.git","svn_url":"https://github.com/akka/akka","homepage":"http://akka.io","size":203573,"stargazers_count":5320,"watchers_count":5320,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1651,"mirror_url":null,"open_issues_count":720,"forks":1651,"open_issues":720,"watchers":5320,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/akka/akka/pulls/20194"},"html":{"href":"https://github.com/akka/akka/pull/20194"},"issue":{"href":"https://api.github.com/repos/akka/akka/issues/20194"},"comments":{"href":"https://api.github.com/repos/akka/akka/issues/20194/comments"},"review_comments":{"href":"https://api.github.com/repos/akka/akka/pulls/20194/comments"},"review_comment":{"href":"https://api.github.com/repos/akka/akka/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/akka/akka/pulls/20194/commits"},"statuses":{"href":"https://api.github.com/repos/akka/akka/statuses/8bb3aae2ed3e0434bcd62633a12488c9145a822f"}}}}