{"action":"created","issue":{"url":"https://api.github.com/repos/yahoo/fili/issues/455","repository_url":"https://api.github.com/repos/yahoo/fili","labels_url":"https://api.github.com/repos/yahoo/fili/issues/455/labels{/name}","comments_url":"https://api.github.com/repos/yahoo/fili/issues/455/comments","events_url":"https://api.github.com/repos/yahoo/fili/issues/455/events","html_url":"https://github.com/yahoo/fili/pull/455","id":246454527,"number":455,"title":"Custom Response creation part2","user":{"login":"tarrantzhang","id":14193408,"avatar_url":"https://avatars1.githubusercontent.com/u/14193408?v=4","gravatar_id":"","url":"https://api.github.com/users/tarrantzhang","html_url":"https://github.com/tarrantzhang","followers_url":"https://api.github.com/users/tarrantzhang/followers","following_url":"https://api.github.com/users/tarrantzhang/following{/other_user}","gists_url":"https://api.github.com/users/tarrantzhang/gists{/gist_id}","starred_url":"https://api.github.com/users/tarrantzhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarrantzhang/subscriptions","organizations_url":"https://api.github.com/users/tarrantzhang/orgs","repos_url":"https://api.github.com/users/tarrantzhang/repos","events_url":"https://api.github.com/users/tarrantzhang/events{/privacy}","received_events_url":"https://api.github.com/users/tarrantzhang/received_events","type":"User","site_admin":false},"labels":[{"id":433841948,"url":"https://api.github.com/repos/yahoo/fili/labels/MERGEABLE","name":"MERGEABLE","color":"a3d977","default":false},{"id":433842968,"url":"https://api.github.com/repos/yahoo/fili/labels/REVIEWABLE","name":"REVIEWABLE","color":"b391b5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-07-28T20:43:21Z","updated_at":"2017-08-08T15:31:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/yahoo/fili/pulls/455","html_url":"https://github.com/yahoo/fili/pull/455","diff_url":"https://github.com/yahoo/fili/pull/455.diff","patch_url":"https://github.com/yahoo/fili/pull/455.patch"},"body":"Continuing on [RFC for custom response creation](https://github.com/yahoo/fili/pull/442). \r\n [Part 1](https://github.com/yahoo/fili/pull/447).\r\n\r\nImplementing steps 1~5:\r\n\r\n- Define interface `ResponseWriter` and its default implementation\r\n- Refactor `Response` class, splitting into `ResponseData` and three implementations of `ResponseWriter` \r\n- Define interface `ResponseWriterSelector` and its default implementation\r\n- Implement \r\n    ```java\r\n        void addResponseType(ResponseType type, ResponseWriter writer);\r\n    ```\r\n- Hook up the new serialization logic with `HttpResponseMaker` to replace the old one\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/yahoo/fili/issues/comments/320992914","html_url":"https://github.com/yahoo/fili/pull/455#issuecomment-320992914","issue_url":"https://api.github.com/repos/yahoo/fili/issues/455","id":320992914,"user":{"login":"archolewa","id":11720815,"avatar_url":"https://avatars2.githubusercontent.com/u/11720815?v=4","gravatar_id":"","url":"https://api.github.com/users/archolewa","html_url":"https://github.com/archolewa","followers_url":"https://api.github.com/users/archolewa/followers","following_url":"https://api.github.com/users/archolewa/following{/other_user}","gists_url":"https://api.github.com/users/archolewa/gists{/gist_id}","starred_url":"https://api.github.com/users/archolewa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/archolewa/subscriptions","organizations_url":"https://api.github.com/users/archolewa/orgs","repos_url":"https://api.github.com/users/archolewa/repos","events_url":"https://api.github.com/users/archolewa/events{/privacy}","received_events_url":"https://api.github.com/users/archolewa/received_events","type":"User","site_admin":false},"created_at":"2017-08-08T15:31:57Z","updated_at":"2017-08-08T15:31:57Z","body":"@kevinhinterlong I agree that having custom response types would be nice to have, but it's outside the scope of this PR. When someone wants custom response types, they can come in and make the refactors to the response type (i.e. hiding the enum behind an interface) that will be necessary."}}
{"actor":{"display_login":"archolewa"}}