{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc-go/issues/228","labels_url":"https://api.github.com/repos/grpc/grpc-go/issues/228/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc-go/issues/228/comments","events_url":"https://api.github.com/repos/grpc/grpc-go/issues/228/events","html_url":"https://github.com/grpc/grpc-go/pull/228","id":88570416,"number":228,"title":"add healthCheck and corresponding end2end tests","user":{"login":"yangzhouhan","id":6931007,"avatar_url":"https://avatars.githubusercontent.com/u/6931007?v=3","gravatar_id":"","url":"https://api.github.com/users/yangzhouhan","html_url":"https://github.com/yangzhouhan","followers_url":"https://api.github.com/users/yangzhouhan/followers","following_url":"https://api.github.com/users/yangzhouhan/following{/other_user}","gists_url":"https://api.github.com/users/yangzhouhan/gists{/gist_id}","starred_url":"https://api.github.com/users/yangzhouhan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yangzhouhan/subscriptions","organizations_url":"https://api.github.com/users/yangzhouhan/orgs","repos_url":"https://api.github.com/users/yangzhouhan/repos","events_url":"https://api.github.com/users/yangzhouhan/events{/privacy}","received_events_url":"https://api.github.com/users/yangzhouhan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-15T23:51:20Z","updated_at":"2015-06-16T05:37:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/grpc/grpc-go/pulls/228","html_url":"https://github.com/grpc/grpc-go/pull/228","diff_url":"https://github.com/grpc/grpc-go/pull/228.diff","patch_url":"https://github.com/grpc/grpc-go/pull/228.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/grpc/grpc-go/issues/comments/112298596","html_url":"https://github.com/grpc/grpc-go/pull/228#issuecomment-112298596","issue_url":"https://api.github.com/repos/grpc/grpc-go/issues/228","id":112298596,"user":{"login":"iamqizhao","id":10121772,"avatar_url":"https://avatars.githubusercontent.com/u/10121772?v=3","gravatar_id":"","url":"https://api.github.com/users/iamqizhao","html_url":"https://github.com/iamqizhao","followers_url":"https://api.github.com/users/iamqizhao/followers","following_url":"https://api.github.com/users/iamqizhao/following{/other_user}","gists_url":"https://api.github.com/users/iamqizhao/gists{/gist_id}","starred_url":"https://api.github.com/users/iamqizhao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iamqizhao/subscriptions","organizations_url":"https://api.github.com/users/iamqizhao/orgs","repos_url":"https://api.github.com/users/iamqizhao/repos","events_url":"https://api.github.com/users/iamqizhao/events{/privacy}","received_events_url":"https://api.github.com/users/iamqizhao/received_events","type":"User","site_admin":false},"created_at":"2015-06-16T05:37:15Z","updated_at":"2015-06-16T05:37:15Z","body":"Hi Zhouhan,\r\n\r\nLet's revise the design a bit.\r\ni) make a \"health\" subdir and place health.proto and its generated code health.pb.go there (rename the package to \"health\" instead. I will change the designdoc correspondingly). Making a health.go in this dir to implement HealthCheck.Check server handler as like other servers do.\r\nii) Move the current code in health.go to the end of rpc_util.go. Then only thing left is to make Check and Enable (rename them to HealthCheck and EnableHealthCheck respectively) protobuf agnostic:\r\n - change Check(...) to func HealthCheck(ctx context.Context, req interface{}) error to let the caller create request object;\r\n - let EnableHealthCheck(...) call the generated code so that itself does not need to create HealthCheckRequest/Response messages.\r\n\r\nLet's discuss tomorrow morning if I missed something or did not make it clear enough in the above."}}