{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/core/issues/13616","labels_url":"https://api.github.com/repos/owncloud/core/issues/13616/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/core/issues/13616/comments","events_url":"https://api.github.com/repos/owncloud/core/issues/13616/events","html_url":"https://github.com/owncloud/core/pull/13616","id":55199608,"number":13616,"title":"AppFramework StreamResponse","user":{"login":"Raydiation","id":195053,"avatar_url":"https://avatars.githubusercontent.com/u/195053?v=3","gravatar_id":"","url":"https://api.github.com/users/Raydiation","html_url":"https://github.com/Raydiation","followers_url":"https://api.github.com/users/Raydiation/followers","following_url":"https://api.github.com/users/Raydiation/following{/other_user}","gists_url":"https://api.github.com/users/Raydiation/gists{/gist_id}","starred_url":"https://api.github.com/users/Raydiation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raydiation/subscriptions","organizations_url":"https://api.github.com/users/Raydiation/orgs","repos_url":"https://api.github.com/users/Raydiation/repos","events_url":"https://api.github.com/users/Raydiation/events{/privacy}","received_events_url":"https://api.github.com/users/Raydiation/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/core/labels/5%20-%20To%20review","name":"5 - To review","color":"ededed"},{"url":"https://api.github.com/repos/owncloud/core/labels/Enhancement","name":"Enhancement","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/owncloud/core/milestones/31","html_url":"https://github.com/owncloud/core/milestones/8.1-current","labels_url":"https://api.github.com/repos/owncloud/core/milestones/31/labels","id":912160,"number":31,"title":"8.1-current","description":"","creator":{"login":"MorrisJobke","id":245432,"avatar_url":"https://avatars.githubusercontent.com/u/245432?v=3","gravatar_id":"","url":"https://api.github.com/users/MorrisJobke","html_url":"https://github.com/MorrisJobke","followers_url":"https://api.github.com/users/MorrisJobke/followers","following_url":"https://api.github.com/users/MorrisJobke/following{/other_user}","gists_url":"https://api.github.com/users/MorrisJobke/gists{/gist_id}","starred_url":"https://api.github.com/users/MorrisJobke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MorrisJobke/subscriptions","organizations_url":"https://api.github.com/users/MorrisJobke/orgs","repos_url":"https://api.github.com/users/MorrisJobke/repos","events_url":"https://api.github.com/users/MorrisJobke/events{/privacy}","received_events_url":"https://api.github.com/users/MorrisJobke/received_events","type":"User","site_admin":false},"open_issues":376,"closed_issues":207,"state":"open","created_at":"2014-12-22T12:04:01Z","updated_at":"2015-02-27T11:13:45Z","due_on":"2015-04-02T22:00:00Z","closed_at":null},"comments":19,"created_at":"2015-01-22T19:47:07Z","updated_at":"2015-02-27T11:19:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/owncloud/core/pulls/13616","html_url":"https://github.com/owncloud/core/pull/13616","diff_url":"https://github.com/owncloud/core/pull/13616.diff","patch_url":"https://github.com/owncloud/core/pull/13616.patch"},"body":"First stab at the StreamResponse, see #12988\r\n\r\nThe idea is to use an interface ICallbackResponse (I'm not 100% happy with the name yet, suggestions?) that allow the response to output things in its own way, for instance stream the file using readfile\r\n\r\nUnittests are atm lacking, plan is to \r\n* [x] check if a mock of ICallbackResponse will be used by calling its callback (also unhappy with this name) method\r\n\r\nUsage is:\r\n\r\n```php\r\n$response = new StreamResponse('path/to/file');\r\n```\r\n\r\n@DeepDiver1975 @MorrisJobke @LukasReschke @PVince81 @oparoz "},"comment":{"url":"https://api.github.com/repos/owncloud/core/issues/comments/76379971","html_url":"https://github.com/owncloud/core/pull/13616#issuecomment-76379971","issue_url":"https://api.github.com/repos/owncloud/core/issues/13616","id":76379971,"user":{"login":"scrutinizer-notifier","id":6398257,"avatar_url":"https://avatars.githubusercontent.com/u/6398257?v=3","gravatar_id":"","url":"https://api.github.com/users/scrutinizer-notifier","html_url":"https://github.com/scrutinizer-notifier","followers_url":"https://api.github.com/users/scrutinizer-notifier/followers","following_url":"https://api.github.com/users/scrutinizer-notifier/following{/other_user}","gists_url":"https://api.github.com/users/scrutinizer-notifier/gists{/gist_id}","starred_url":"https://api.github.com/users/scrutinizer-notifier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scrutinizer-notifier/subscriptions","organizations_url":"https://api.github.com/users/scrutinizer-notifier/orgs","repos_url":"https://api.github.com/users/scrutinizer-notifier/repos","events_url":"https://api.github.com/users/scrutinizer-notifier/events{/privacy}","received_events_url":"https://api.github.com/users/scrutinizer-notifier/received_events","type":"User","site_admin":false},"created_at":"2015-02-27T11:19:40Z","updated_at":"2015-02-27T11:19:40Z","body":"A [new inspection](https://scrutinizer-ci.com/g/owncloud/core/inspections/34531f50-622b-4536-a93b-9ddcaca33edd) was created."}}