{"action":"created","issue":{"url":"https://api.github.com/repos/awakesecurity/gRPC-haskell/issues/32","repository_url":"https://api.github.com/repos/awakesecurity/gRPC-haskell","labels_url":"https://api.github.com/repos/awakesecurity/gRPC-haskell/issues/32/labels{/name}","comments_url":"https://api.github.com/repos/awakesecurity/gRPC-haskell/issues/32/comments","events_url":"https://api.github.com/repos/awakesecurity/gRPC-haskell/issues/32/events","html_url":"https://github.com/awakesecurity/gRPC-haskell/issues/32","id":256298023,"number":32,"title":"How to return errors to clients?","user":{"login":"NicolasT","id":102605,"avatar_url":"https://avatars2.githubusercontent.com/u/102605?v=4","gravatar_id":"","url":"https://api.github.com/users/NicolasT","html_url":"https://github.com/NicolasT","followers_url":"https://api.github.com/users/NicolasT/followers","following_url":"https://api.github.com/users/NicolasT/following{/other_user}","gists_url":"https://api.github.com/users/NicolasT/gists{/gist_id}","starred_url":"https://api.github.com/users/NicolasT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NicolasT/subscriptions","organizations_url":"https://api.github.com/users/NicolasT/orgs","repos_url":"https://api.github.com/users/NicolasT/repos","events_url":"https://api.github.com/users/NicolasT/events{/privacy}","received_events_url":"https://api.github.com/users/NicolasT/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-09-08T15:55:13Z","updated_at":"2017-09-09T14:52:42Z","closed_at":null,"author_association":"NONE","body":"It's a bit unclear to me how one is supposed to return an error to a client for a 'normal' RPC request, except by throwing an exception in a handler (which is quite ugly, because then said error gets logged as well, which may not be useful at all).\r\n\r\nA handler is supposed to return a `ServerResponse 'Normal respType`, which is `ServerNormalResponse :: respType -> MetadataMap -> StatusCode -> StatusDetails -> ServerResponse 'Normal respType`. When a handler fails, i.e. is unable to calculate a proper value of `respType`, how is one supposed to return a response with e.g. `StatusAborted` to the client?"},"comment":{"url":"https://api.github.com/repos/awakesecurity/gRPC-haskell/issues/comments/328282000","html_url":"https://github.com/awakesecurity/gRPC-haskell/issues/32#issuecomment-328282000","issue_url":"https://api.github.com/repos/awakesecurity/gRPC-haskell/issues/32","id":328282000,"user":{"login":"ixmatus","id":30714,"avatar_url":"https://avatars0.githubusercontent.com/u/30714?v=4","gravatar_id":"","url":"https://api.github.com/users/ixmatus","html_url":"https://github.com/ixmatus","followers_url":"https://api.github.com/users/ixmatus/followers","following_url":"https://api.github.com/users/ixmatus/following{/other_user}","gists_url":"https://api.github.com/users/ixmatus/gists{/gist_id}","starred_url":"https://api.github.com/users/ixmatus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ixmatus/subscriptions","organizations_url":"https://api.github.com/users/ixmatus/orgs","repos_url":"https://api.github.com/users/ixmatus/repos","events_url":"https://api.github.com/users/ixmatus/events{/privacy}","received_events_url":"https://api.github.com/users/ixmatus/received_events","type":"User","site_admin":false},"created_at":"2017-09-09T14:52:42Z","updated_at":"2017-09-09T14:52:42Z","author_association":"COLLABORATOR","body":"Oh one more thought w.r.t selection of a monoid for grpc proto response messages: the monoid @intractable selected for the response types implements the `mappend` method in terms of `<|>`."}}
{"actor":{"display_login":"ixmatus"}}