{"action":"created","comment":{"url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/comments/234300073","pull_request_review_id":175920069,"id":234300073,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNDMwMDA3Mw==","diff_hunk":"@@ -98,6 +124,10 @@ private Context() {}\n          * The HTTP response returned by the service with which the SDK is communicating.\n          */\n         SdkHttpFullResponse httpResponse();\n+\n+        Publisher<ByteBuffer> responsePublisher();\n+\n+        InputStream responseBody();","path":"core/sdk-core/src/main/java/software/amazon/awssdk/core/interceptor/Context.java","position":null,"original_position":68,"commit_id":"5d9badf49d87e58d5a097149f849d321c06d5c7f","original_commit_id":"76cd05715f046ff8bf519af48faac900b28083b5","user":{"login":"millems","id":24903526,"node_id":"MDQ6VXNlcjI0OTAzNTI2","avatar_url":"https://avatars0.githubusercontent.com/u/24903526?v=4","gravatar_id":"","url":"https://api.github.com/users/millems","html_url":"https://github.com/millems","followers_url":"https://api.github.com/users/millems/followers","following_url":"https://api.github.com/users/millems/following{/other_user}","gists_url":"https://api.github.com/users/millems/gists{/gist_id}","starred_url":"https://api.github.com/users/millems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/millems/subscriptions","organizations_url":"https://api.github.com/users/millems/orgs","repos_url":"https://api.github.com/users/millems/repos","events_url":"https://api.github.com/users/millems/events{/privacy}","received_events_url":"https://api.github.com/users/millems/received_events","type":"User","site_admin":false},"body":"That makes sense to me! Good call.","created_at":"2018-11-16T18:12:41Z","updated_at":"2018-11-16T18:12:41Z","html_url":"https://github.com/aws/aws-sdk-java-v2/pull/823#discussion_r234300073","pull_request_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/comments/234300073"},"html":{"href":"https://github.com/aws/aws-sdk-java-v2/pull/823#discussion_r234300073"},"pull_request":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823"}},"in_reply_to_id":234085831},"pull_request":{"url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823","id":230943543,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwOTQzNTQz","html_url":"https://github.com/aws/aws-sdk-java-v2/pull/823","diff_url":"https://github.com/aws/aws-sdk-java-v2/pull/823.diff","patch_url":"https://github.com/aws/aws-sdk-java-v2/pull/823.patch","issue_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/823","number":823,"state":"open","locked":false,"title":"Async interceptor payload + S3 Checksums","user":{"login":"spfink","id":20525381,"node_id":"MDQ6VXNlcjIwNTI1Mzgx","avatar_url":"https://avatars1.githubusercontent.com/u/20525381?v=4","gravatar_id":"","url":"https://api.github.com/users/spfink","html_url":"https://github.com/spfink","followers_url":"https://api.github.com/users/spfink/followers","following_url":"https://api.github.com/users/spfink/following{/other_user}","gists_url":"https://api.github.com/users/spfink/gists{/gist_id}","starred_url":"https://api.github.com/users/spfink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spfink/subscriptions","organizations_url":"https://api.github.com/users/spfink/orgs","repos_url":"https://api.github.com/users/spfink/repos","events_url":"https://api.github.com/users/spfink/events{/privacy}","received_events_url":"https://api.github.com/users/spfink/received_events","type":"User","site_admin":false},"body":"Exposes the ability to modify the AsyncRequestBody and AsyncResponseTransformer.\r\n\r\nCurrently this is done by adding two new interceptors.\r\n\r\nFor AsyncRequestBody:\r\n\r\n```java\r\ndefault AsyncRequestBody modifyAsyncRequestBody(Context.ModifyRequest context,\r\n                                                ExecutionAttributes executionAttributes) {\r\n    return context.requestBody();\r\n}\r\n```\r\n\r\nFor AsyncResponseTransformer:\r\n\r\n```java\r\ndefault AsyncResponseTransformer modifyAsyncResponseTransformer(Context.ModifyRequest context,\r\n                                                                ExecutionAttributes executionAttributes) {\r\n    return context.responseTransformer();\r\n}\r\n```\r\n\r\nPossible other options include making modifyRequest return back a container object instead of an SdkRequest:\r\n\r\n```java\r\ndefault SdkRequestContext modifyRequest(Context.ModifyRequest context, ExecutionAttributes executionAttributes) {\r\n    return context.request();\r\n}\r\n```\r\n\r\nWhere SdkRequestContext contains SdkRequest, AsyncRequestBody and AsyncResponseTransformer.\r\n\r\nOr we could introduce an AsyncExecutionInterceptor interface that again either has two methods as in the PR or one method with a container object for async.\r\n\r\nIn general, trying to avoid potential confusion of when these interceptors are valid and when the values will be populated. If we use the approach in the PR, users of the Sync client should not use the new interceptors. If we go with the container approach for modifyRequest, then the asyncRequestBody and asyncResponseTransformer will be null.","created_at":"2018-11-14T18:52:43Z","updated_at":"2018-11-16T18:12:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8f73d794be64c441a6f5bc1bd7a9f06f2c96c699","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823/commits","review_comments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823/comments","review_comment_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/823/comments","statuses_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/statuses/5d9badf49d87e58d5a097149f849d321c06d5c7f","head":{"label":"aws:finks/async-interceptor-payload","ref":"finks/async-interceptor-payload","sha":"5d9badf49d87e58d5a097149f849d321c06d5c7f","user":{"login":"aws","id":2232217,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzIyMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/2232217?v=4","gravatar_id":"","url":"https://api.github.com/users/aws","html_url":"https://github.com/aws","followers_url":"https://api.github.com/users/aws/followers","following_url":"https://api.github.com/users/aws/following{/other_user}","gists_url":"https://api.github.com/users/aws/gists{/gist_id}","starred_url":"https://api.github.com/users/aws/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aws/subscriptions","organizations_url":"https://api.github.com/users/aws/orgs","repos_url":"https://api.github.com/users/aws/repos","events_url":"https://api.github.com/users/aws/events{/privacy}","received_events_url":"https://api.github.com/users/aws/received_events","type":"Organization","site_admin":false},"repo":{"id":95247959,"node_id":"MDEwOlJlcG9zaXRvcnk5NTI0Nzk1OQ==","name":"aws-sdk-java-v2","full_name":"aws/aws-sdk-java-v2","private":false,"owner":{"login":"aws","id":2232217,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzIyMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/2232217?v=4","gravatar_id":"","url":"https://api.github.com/users/aws","html_url":"https://github.com/aws","followers_url":"https://api.github.com/users/aws/followers","following_url":"https://api.github.com/users/aws/following{/other_user}","gists_url":"https://api.github.com/users/aws/gists{/gist_id}","starred_url":"https://api.github.com/users/aws/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aws/subscriptions","organizations_url":"https://api.github.com/users/aws/orgs","repos_url":"https://api.github.com/users/aws/repos","events_url":"https://api.github.com/users/aws/events{/privacy}","received_events_url":"https://api.github.com/users/aws/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aws/aws-sdk-java-v2","description":"The official AWS SDK for Java - Version 2 (Developer Preview)","fork":false,"url":"https://api.github.com/repos/aws/aws-sdk-java-v2","forks_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/forks","keys_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/teams","hooks_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/hooks","issue_events_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/events{/number}","events_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/events","assignees_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/assignees{/user}","branches_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/branches{/branch}","tags_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/tags","blobs_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/refs{/sha}","trees_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/statuses/{sha}","languages_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/languages","stargazers_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/stargazers","contributors_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/contributors","subscribers_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/subscribers","subscription_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/subscription","commits_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/commits{/sha}","git_commits_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/commits{/sha}","comments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/comments{/number}","issue_comment_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/comments{/number}","contents_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/contents/{+path}","compare_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/merges","archive_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/downloads","issues_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues{/number}","pulls_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls{/number}","milestones_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/milestones{/number}","notifications_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/labels{/name}","releases_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/releases{/id}","deployments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/deployments","created_at":"2017-06-23T18:56:01Z","updated_at":"2018-11-16T17:45:06Z","pushed_at":"2018-11-16T18:04:19Z","git_url":"git://github.com/aws/aws-sdk-java-v2.git","ssh_url":"git@github.com:aws/aws-sdk-java-v2.git","clone_url":"https://github.com/aws/aws-sdk-java-v2.git","svn_url":"https://github.com/aws/aws-sdk-java-v2","homepage":"","size":16065,"stargazers_count":301,"watchers_count":301,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":76,"mirror_url":null,"archived":false,"open_issues_count":133,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":76,"open_issues":133,"watchers":301,"default_branch":"master"}},"base":{"label":"aws:master","ref":"master","sha":"7eeaf1acbd497fba0d370c4d4f6d955bd4110294","user":{"login":"aws","id":2232217,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzIyMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/2232217?v=4","gravatar_id":"","url":"https://api.github.com/users/aws","html_url":"https://github.com/aws","followers_url":"https://api.github.com/users/aws/followers","following_url":"https://api.github.com/users/aws/following{/other_user}","gists_url":"https://api.github.com/users/aws/gists{/gist_id}","starred_url":"https://api.github.com/users/aws/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aws/subscriptions","organizations_url":"https://api.github.com/users/aws/orgs","repos_url":"https://api.github.com/users/aws/repos","events_url":"https://api.github.com/users/aws/events{/privacy}","received_events_url":"https://api.github.com/users/aws/received_events","type":"Organization","site_admin":false},"repo":{"id":95247959,"node_id":"MDEwOlJlcG9zaXRvcnk5NTI0Nzk1OQ==","name":"aws-sdk-java-v2","full_name":"aws/aws-sdk-java-v2","private":false,"owner":{"login":"aws","id":2232217,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzIyMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/2232217?v=4","gravatar_id":"","url":"https://api.github.com/users/aws","html_url":"https://github.com/aws","followers_url":"https://api.github.com/users/aws/followers","following_url":"https://api.github.com/users/aws/following{/other_user}","gists_url":"https://api.github.com/users/aws/gists{/gist_id}","starred_url":"https://api.github.com/users/aws/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aws/subscriptions","organizations_url":"https://api.github.com/users/aws/orgs","repos_url":"https://api.github.com/users/aws/repos","events_url":"https://api.github.com/users/aws/events{/privacy}","received_events_url":"https://api.github.com/users/aws/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aws/aws-sdk-java-v2","description":"The official AWS SDK for Java - Version 2 (Developer Preview)","fork":false,"url":"https://api.github.com/repos/aws/aws-sdk-java-v2","forks_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/forks","keys_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/teams","hooks_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/hooks","issue_events_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/events{/number}","events_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/events","assignees_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/assignees{/user}","branches_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/branches{/branch}","tags_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/tags","blobs_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/refs{/sha}","trees_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/statuses/{sha}","languages_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/languages","stargazers_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/stargazers","contributors_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/contributors","subscribers_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/subscribers","subscription_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/subscription","commits_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/commits{/sha}","git_commits_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/git/commits{/sha}","comments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/comments{/number}","issue_comment_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/comments{/number}","contents_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/contents/{+path}","compare_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/merges","archive_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/downloads","issues_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues{/number}","pulls_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls{/number}","milestones_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/milestones{/number}","notifications_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/labels{/name}","releases_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/releases{/id}","deployments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/deployments","created_at":"2017-06-23T18:56:01Z","updated_at":"2018-11-16T17:45:06Z","pushed_at":"2018-11-16T18:04:19Z","git_url":"git://github.com/aws/aws-sdk-java-v2.git","ssh_url":"git@github.com:aws/aws-sdk-java-v2.git","clone_url":"https://github.com/aws/aws-sdk-java-v2.git","svn_url":"https://github.com/aws/aws-sdk-java-v2","homepage":"","size":16065,"stargazers_count":301,"watchers_count":301,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":76,"mirror_url":null,"archived":false,"open_issues_count":133,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":76,"open_issues":133,"watchers":301,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823"},"html":{"href":"https://github.com/aws/aws-sdk-java-v2/pull/823"},"issue":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/823"},"comments":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/823/comments"},"review_comments":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823/comments"},"review_comment":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/pulls/823/commits"},"statuses":{"href":"https://api.github.com/repos/aws/aws-sdk-java-v2/statuses/5d9badf49d87e58d5a097149f849d321c06d5c7f"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"millems"}}