{"action":"created","comment":{"url":"https://api.github.com/repos/line/armeria/pulls/comments/336373938","pull_request_review_id":303735394,"id":336373938,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMzNjM3MzkzOA==","diff_hunk":"@@ -0,0 +1,191 @@\n+/*\n+ * Copyright 2019 LINE Corporation\n+ *\n+ * LINE Corporation licenses this file to you under the Apache License,\n+ * version 2.0 (the \"License\"); you may not use this file except in compliance\n+ * with the License. You may obtain a copy of the License at:\n+ *\n+ *   https://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n+ * License for the specific language governing permissions and limitations\n+ * under the License.\n+ */\n+\n+package com.linecorp.armeria.server;\n+\n+import static java.util.Objects.requireNonNull;\n+\n+import java.nio.charset.Charset;\n+import java.time.Duration;\n+import java.util.List;\n+import java.util.function.Function;\n+\n+import com.google.common.collect.ImmutableList;\n+import com.google.common.collect.ImmutableList.Builder;\n+import com.google.common.collect.Iterables;\n+\n+import com.linecorp.armeria.common.HttpRequest;\n+import com.linecorp.armeria.common.HttpResponse;\n+import com.linecorp.armeria.common.logging.ContentPreviewerFactory;\n+import com.linecorp.armeria.internal.annotation.AnnotatedHttpServiceElement;\n+import com.linecorp.armeria.internal.annotation.AnnotatedHttpServiceFactory;\n+import com.linecorp.armeria.server.annotation.ExceptionHandlerFunction;\n+import com.linecorp.armeria.server.annotation.RequestConverterFunction;\n+import com.linecorp.armeria.server.annotation.ResponseConverterFunction;\n+import com.linecorp.armeria.server.logging.AccessLogWriter;\n+\n+/**\n+ * A builder class for binding a {@link Service} fluently. This class can be instantiated through\n+ * {@link ServerBuilder#annotatedService()}.\n+ *\n+ * <p>Call {@link #buildAnnotated(Object)} to build the {@link Service} and return to the {@link ServerBuilder}.\n+ *\n+ * <pre>{@code\n+ * ServerBuilder sb = Server.builder();\n+ * sb.annotatedService()                                    // Returns an instance of this class\n+ *   .requestTimeout(5000)\n+ *   .maxRequestLength(8192)\n+ *   .exceptionHandler((ctx, request, cause) -> HttpResponse.of(400))\n+ *   .pathPrefix(\"/foo\")\n+ *   .verboseResponses(true)\n+ *   .contentPreview(500)\n+ *   .buildAnnotated(new Service())                         // Return to the ServerBuilder.\n+ *   .build();\n+ * }</pre>\n+ *\n+ * @see ServiceBindingBuilder\n+ */\n+public class AnnotatedServiceBindingBuilder extends AbstractServiceBuilder {","path":"core/src/main/java/com/linecorp/armeria/server/AnnotatedServiceBindingBuilder.java","position":61,"original_position":61,"commit_id":"7f1d72506e5d13247492b47de392a356ddc23308","original_commit_id":"7f1d72506e5d13247492b47de392a356ddc23308","user":{"login":"trustin","id":173918,"node_id":"MDQ6VXNlcjE3MzkxOA==","avatar_url":"https://avatars0.githubusercontent.com/u/173918?v=4","gravatar_id":"","url":"https://api.github.com/users/trustin","html_url":"https://github.com/trustin","followers_url":"https://api.github.com/users/trustin/followers","following_url":"https://api.github.com/users/trustin/following{/other_user}","gists_url":"https://api.github.com/users/trustin/gists{/gist_id}","starred_url":"https://api.github.com/users/trustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trustin/subscriptions","organizations_url":"https://api.github.com/users/trustin/orgs","repos_url":"https://api.github.com/users/trustin/repos","events_url":"https://api.github.com/users/trustin/events{/privacy}","received_events_url":"https://api.github.com/users/trustin/received_events","type":"User","site_admin":false},"body":"Could be `final`?","created_at":"2019-10-18T08:28:12Z","updated_at":"2019-10-18T08:28:12Z","html_url":"https://github.com/line/armeria/pull/2180#discussion_r336373938","pull_request_url":"https://api.github.com/repos/line/armeria/pulls/2180","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/line/armeria/pulls/comments/336373938"},"html":{"href":"https://github.com/line/armeria/pull/2180#discussion_r336373938"},"pull_request":{"href":"https://api.github.com/repos/line/armeria/pulls/2180"}}},"pull_request":{"url":"https://api.github.com/repos/line/armeria/pulls/2180","id":326940259,"node_id":"MDExOlB1bGxSZXF1ZXN0MzI2OTQwMjU5","html_url":"https://github.com/line/armeria/pull/2180","diff_url":"https://github.com/line/armeria/pull/2180.diff","patch_url":"https://github.com/line/armeria/pull/2180.patch","issue_url":"https://api.github.com/repos/line/armeria/issues/2180","number":2180,"state":"open","locked":false,"title":"Adding AnnotatedServiceBuilder to add service level settings to annotated service","user":{"login":"sivaalli","id":21271568,"node_id":"MDQ6VXNlcjIxMjcxNTY4","avatar_url":"https://avatars2.githubusercontent.com/u/21271568?v=4","gravatar_id":"","url":"https://api.github.com/users/sivaalli","html_url":"https://github.com/sivaalli","followers_url":"https://api.github.com/users/sivaalli/followers","following_url":"https://api.github.com/users/sivaalli/following{/other_user}","gists_url":"https://api.github.com/users/sivaalli/gists{/gist_id}","starred_url":"https://api.github.com/users/sivaalli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sivaalli/subscriptions","organizations_url":"https://api.github.com/users/sivaalli/orgs","repos_url":"https://api.github.com/users/sivaalli/repos","events_url":"https://api.github.com/users/sivaalli/events{/privacy}","received_events_url":"https://api.github.com/users/sivaalli/received_events","type":"User","site_admin":false},"body":"Motivation:\r\n\r\nIt is good to provide an ability to user to configure per service level settings for annotated service.\r\n\r\nCloses: https://github.com/line/armeria/issues/2023\r\n\r\nModifications:\r\n\r\n1. Pulled all methods that `AbstractServiceBindingBuilder`(minus AbstractBindingBuilder)  has into an interface called `ServiceBuilder`\r\n2. `AbstractServiceBindingBuilder` implements this(ServiceBuilder) interface and also extends `AbstractBindingBuilder`\r\n3. Provided a default implementation of `ServiceBuilder` called `DefaultServiceBuilder`, this is shared between `AbstractServiceBindingBuilder` and `AbstractServiceBuilder` to avoid code duplication\r\n\r\nResult:\r\nAnnotatedService can now be configured to have service specific properties.","created_at":"2019-10-10T21:36:55Z","updated_at":"2019-10-18T08:28:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"461a88b3838e5f377e1f07805b31add4e7c0f782","assignee":null,"assignees":[],"requested_reviewers":[{"login":"ikhoon","id":1866157,"node_id":"MDQ6VXNlcjE4NjYxNTc=","avatar_url":"https://avatars1.githubusercontent.com/u/1866157?v=4","gravatar_id":"","url":"https://api.github.com/users/ikhoon","html_url":"https://github.com/ikhoon","followers_url":"https://api.github.com/users/ikhoon/followers","following_url":"https://api.github.com/users/ikhoon/following{/other_user}","gists_url":"https://api.github.com/users/ikhoon/gists{/gist_id}","starred_url":"https://api.github.com/users/ikhoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikhoon/subscriptions","organizations_url":"https://api.github.com/users/ikhoon/orgs","repos_url":"https://api.github.com/users/ikhoon/repos","events_url":"https://api.github.com/users/ikhoon/events{/privacy}","received_events_url":"https://api.github.com/users/ikhoon/received_events","type":"User","site_admin":false},{"login":"minwoox","id":25103250,"node_id":"MDQ6VXNlcjI1MTAzMjUw","avatar_url":"https://avatars2.githubusercontent.com/u/25103250?v=4","gravatar_id":"","url":"https://api.github.com/users/minwoox","html_url":"https://github.com/minwoox","followers_url":"https://api.github.com/users/minwoox/followers","following_url":"https://api.github.com/users/minwoox/following{/other_user}","gists_url":"https://api.github.com/users/minwoox/gists{/gist_id}","starred_url":"https://api.github.com/users/minwoox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minwoox/subscriptions","organizations_url":"https://api.github.com/users/minwoox/orgs","repos_url":"https://api.github.com/users/minwoox/repos","events_url":"https://api.github.com/users/minwoox/events{/privacy}","received_events_url":"https://api.github.com/users/minwoox/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":287189526,"node_id":"MDU6TGFiZWwyODcxODk1MjY=","url":"https://api.github.com/repos/line/armeria/labels/defect","name":"defect","color":"b60205","default":false},{"id":287373881,"node_id":"MDU6TGFiZWwyODczNzM4ODE=","url":"https://api.github.com/repos/line/armeria/labels/new-feature","name":"new-feature","color":"009800","default":false}],"milestone":{"url":"https://api.github.com/repos/line/armeria/milestones/148","html_url":"https://github.com/line/armeria/milestone/148","labels_url":"https://api.github.com/repos/line/armeria/milestones/148/labels","id":4712207,"node_id":"MDk6TWlsZXN0b25lNDcxMjIwNw==","number":148,"title":"0.95.0","description":"","creator":{"login":"trustin","id":173918,"node_id":"MDQ6VXNlcjE3MzkxOA==","avatar_url":"https://avatars0.githubusercontent.com/u/173918?v=4","gravatar_id":"","url":"https://api.github.com/users/trustin","html_url":"https://github.com/trustin","followers_url":"https://api.github.com/users/trustin/followers","following_url":"https://api.github.com/users/trustin/following{/other_user}","gists_url":"https://api.github.com/users/trustin/gists{/gist_id}","starred_url":"https://api.github.com/users/trustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trustin/subscriptions","organizations_url":"https://api.github.com/users/trustin/orgs","repos_url":"https://api.github.com/users/trustin/repos","events_url":"https://api.github.com/users/trustin/events{/privacy}","received_events_url":"https://api.github.com/users/trustin/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":36,"state":"open","created_at":"2019-10-02T07:17:31Z","updated_at":"2019-10-18T07:17:03Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/line/armeria/pulls/2180/commits","review_comments_url":"https://api.github.com/repos/line/armeria/pulls/2180/comments","review_comment_url":"https://api.github.com/repos/line/armeria/pulls/comments{/number}","comments_url":"https://api.github.com/repos/line/armeria/issues/2180/comments","statuses_url":"https://api.github.com/repos/line/armeria/statuses/7f1d72506e5d13247492b47de392a356ddc23308","head":{"label":"sivaalli:master","ref":"master","sha":"7f1d72506e5d13247492b47de392a356ddc23308","user":{"login":"sivaalli","id":21271568,"node_id":"MDQ6VXNlcjIxMjcxNTY4","avatar_url":"https://avatars2.githubusercontent.com/u/21271568?v=4","gravatar_id":"","url":"https://api.github.com/users/sivaalli","html_url":"https://github.com/sivaalli","followers_url":"https://api.github.com/users/sivaalli/followers","following_url":"https://api.github.com/users/sivaalli/following{/other_user}","gists_url":"https://api.github.com/users/sivaalli/gists{/gist_id}","starred_url":"https://api.github.com/users/sivaalli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sivaalli/subscriptions","organizations_url":"https://api.github.com/users/sivaalli/orgs","repos_url":"https://api.github.com/users/sivaalli/repos","events_url":"https://api.github.com/users/sivaalli/events{/privacy}","received_events_url":"https://api.github.com/users/sivaalli/received_events","type":"User","site_admin":false},"repo":{"id":213635648,"node_id":"MDEwOlJlcG9zaXRvcnkyMTM2MzU2NDg=","name":"armeria","full_name":"sivaalli/armeria","private":false,"owner":{"login":"sivaalli","id":21271568,"node_id":"MDQ6VXNlcjIxMjcxNTY4","avatar_url":"https://avatars2.githubusercontent.com/u/21271568?v=4","gravatar_id":"","url":"https://api.github.com/users/sivaalli","html_url":"https://github.com/sivaalli","followers_url":"https://api.github.com/users/sivaalli/followers","following_url":"https://api.github.com/users/sivaalli/following{/other_user}","gists_url":"https://api.github.com/users/sivaalli/gists{/gist_id}","starred_url":"https://api.github.com/users/sivaalli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sivaalli/subscriptions","organizations_url":"https://api.github.com/users/sivaalli/orgs","repos_url":"https://api.github.com/users/sivaalli/repos","events_url":"https://api.github.com/users/sivaalli/events{/privacy}","received_events_url":"https://api.github.com/users/sivaalli/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sivaalli/armeria","description":"Asynchronous RPC/REST library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC","fork":true,"url":"https://api.github.com/repos/sivaalli/armeria","forks_url":"https://api.github.com/repos/sivaalli/armeria/forks","keys_url":"https://api.github.com/repos/sivaalli/armeria/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sivaalli/armeria/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sivaalli/armeria/teams","hooks_url":"https://api.github.com/repos/sivaalli/armeria/hooks","issue_events_url":"https://api.github.com/repos/sivaalli/armeria/issues/events{/number}","events_url":"https://api.github.com/repos/sivaalli/armeria/events","assignees_url":"https://api.github.com/repos/sivaalli/armeria/assignees{/user}","branches_url":"https://api.github.com/repos/sivaalli/armeria/branches{/branch}","tags_url":"https://api.github.com/repos/sivaalli/armeria/tags","blobs_url":"https://api.github.com/repos/sivaalli/armeria/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sivaalli/armeria/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sivaalli/armeria/git/refs{/sha}","trees_url":"https://api.github.com/repos/sivaalli/armeria/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sivaalli/armeria/statuses/{sha}","languages_url":"https://api.github.com/repos/sivaalli/armeria/languages","stargazers_url":"https://api.github.com/repos/sivaalli/armeria/stargazers","contributors_url":"https://api.github.com/repos/sivaalli/armeria/contributors","subscribers_url":"https://api.github.com/repos/sivaalli/armeria/subscribers","subscription_url":"https://api.github.com/repos/sivaalli/armeria/subscription","commits_url":"https://api.github.com/repos/sivaalli/armeria/commits{/sha}","git_commits_url":"https://api.github.com/repos/sivaalli/armeria/git/commits{/sha}","comments_url":"https://api.github.com/repos/sivaalli/armeria/comments{/number}","issue_comment_url":"https://api.github.com/repos/sivaalli/armeria/issues/comments{/number}","contents_url":"https://api.github.com/repos/sivaalli/armeria/contents/{+path}","compare_url":"https://api.github.com/repos/sivaalli/armeria/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sivaalli/armeria/merges","archive_url":"https://api.github.com/repos/sivaalli/armeria/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sivaalli/armeria/downloads","issues_url":"https://api.github.com/repos/sivaalli/armeria/issues{/number}","pulls_url":"https://api.github.com/repos/sivaalli/armeria/pulls{/number}","milestones_url":"https://api.github.com/repos/sivaalli/armeria/milestones{/number}","notifications_url":"https://api.github.com/repos/sivaalli/armeria/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sivaalli/armeria/labels{/name}","releases_url":"https://api.github.com/repos/sivaalli/armeria/releases{/id}","deployments_url":"https://api.github.com/repos/sivaalli/armeria/deployments","created_at":"2019-10-08T12:26:19Z","updated_at":"2019-10-10T21:32:44Z","pushed_at":"2019-10-10T21:32:41Z","git_url":"git://github.com/sivaalli/armeria.git","ssh_url":"git@github.com:sivaalli/armeria.git","clone_url":"https://github.com/sivaalli/armeria.git","svn_url":"https://github.com/sivaalli/armeria","homepage":"https://line.github.io/armeria/","size":68374,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"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":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"line:master","ref":"master","sha":"84d3b36239acc3276ef16baf7c002e2fc9cd8405","user":{"login":"line","id":13128444,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzMTI4NDQ0","avatar_url":"https://avatars2.githubusercontent.com/u/13128444?v=4","gravatar_id":"","url":"https://api.github.com/users/line","html_url":"https://github.com/line","followers_url":"https://api.github.com/users/line/followers","following_url":"https://api.github.com/users/line/following{/other_user}","gists_url":"https://api.github.com/users/line/gists{/gist_id}","starred_url":"https://api.github.com/users/line/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/line/subscriptions","organizations_url":"https://api.github.com/users/line/orgs","repos_url":"https://api.github.com/users/line/repos","events_url":"https://api.github.com/users/line/events{/privacy}","received_events_url":"https://api.github.com/users/line/received_events","type":"Organization","site_admin":false},"repo":{"id":46251204,"node_id":"MDEwOlJlcG9zaXRvcnk0NjI1MTIwNA==","name":"armeria","full_name":"line/armeria","private":false,"owner":{"login":"line","id":13128444,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzMTI4NDQ0","avatar_url":"https://avatars2.githubusercontent.com/u/13128444?v=4","gravatar_id":"","url":"https://api.github.com/users/line","html_url":"https://github.com/line","followers_url":"https://api.github.com/users/line/followers","following_url":"https://api.github.com/users/line/following{/other_user}","gists_url":"https://api.github.com/users/line/gists{/gist_id}","starred_url":"https://api.github.com/users/line/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/line/subscriptions","organizations_url":"https://api.github.com/users/line/orgs","repos_url":"https://api.github.com/users/line/repos","events_url":"https://api.github.com/users/line/events{/privacy}","received_events_url":"https://api.github.com/users/line/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/line/armeria","description":"Asynchronous RPC/REST library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC","fork":false,"url":"https://api.github.com/repos/line/armeria","forks_url":"https://api.github.com/repos/line/armeria/forks","keys_url":"https://api.github.com/repos/line/armeria/keys{/key_id}","collaborators_url":"https://api.github.com/repos/line/armeria/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/line/armeria/teams","hooks_url":"https://api.github.com/repos/line/armeria/hooks","issue_events_url":"https://api.github.com/repos/line/armeria/issues/events{/number}","events_url":"https://api.github.com/repos/line/armeria/events","assignees_url":"https://api.github.com/repos/line/armeria/assignees{/user}","branches_url":"https://api.github.com/repos/line/armeria/branches{/branch}","tags_url":"https://api.github.com/repos/line/armeria/tags","blobs_url":"https://api.github.com/repos/line/armeria/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/line/armeria/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/line/armeria/git/refs{/sha}","trees_url":"https://api.github.com/repos/line/armeria/git/trees{/sha}","statuses_url":"https://api.github.com/repos/line/armeria/statuses/{sha}","languages_url":"https://api.github.com/repos/line/armeria/languages","stargazers_url":"https://api.github.com/repos/line/armeria/stargazers","contributors_url":"https://api.github.com/repos/line/armeria/contributors","subscribers_url":"https://api.github.com/repos/line/armeria/subscribers","subscription_url":"https://api.github.com/repos/line/armeria/subscription","commits_url":"https://api.github.com/repos/line/armeria/commits{/sha}","git_commits_url":"https://api.github.com/repos/line/armeria/git/commits{/sha}","comments_url":"https://api.github.com/repos/line/armeria/comments{/number}","issue_comment_url":"https://api.github.com/repos/line/armeria/issues/comments{/number}","contents_url":"https://api.github.com/repos/line/armeria/contents/{+path}","compare_url":"https://api.github.com/repos/line/armeria/compare/{base}...{head}","merges_url":"https://api.github.com/repos/line/armeria/merges","archive_url":"https://api.github.com/repos/line/armeria/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/line/armeria/downloads","issues_url":"https://api.github.com/repos/line/armeria/issues{/number}","pulls_url":"https://api.github.com/repos/line/armeria/pulls{/number}","milestones_url":"https://api.github.com/repos/line/armeria/milestones{/number}","notifications_url":"https://api.github.com/repos/line/armeria/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/line/armeria/labels{/name}","releases_url":"https://api.github.com/repos/line/armeria/releases{/id}","deployments_url":"https://api.github.com/repos/line/armeria/deployments","created_at":"2015-11-16T04:04:01Z","updated_at":"2019-10-18T07:13:18Z","pushed_at":"2019-10-18T07:44:49Z","git_url":"git://github.com/line/armeria.git","ssh_url":"git@github.com:line/armeria.git","clone_url":"https://github.com/line/armeria.git","svn_url":"https://github.com/line/armeria","homepage":"https://line.github.io/armeria/","size":68711,"stargazers_count":2197,"watchers_count":2197,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":456,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":213,"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":456,"open_issues":213,"watchers":2197,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/line/armeria/pulls/2180"},"html":{"href":"https://github.com/line/armeria/pull/2180"},"issue":{"href":"https://api.github.com/repos/line/armeria/issues/2180"},"comments":{"href":"https://api.github.com/repos/line/armeria/issues/2180/comments"},"review_comments":{"href":"https://api.github.com/repos/line/armeria/pulls/2180/comments"},"review_comment":{"href":"https://api.github.com/repos/line/armeria/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/line/armeria/pulls/2180/commits"},"statuses":{"href":"https://api.github.com/repos/line/armeria/statuses/7f1d72506e5d13247492b47de392a356ddc23308"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"trustin"}}