{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-reactive/issues/19","labels_url":"https://api.github.com/repos/spring-projects/spring-reactive/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-reactive/issues/19/comments","events_url":"https://api.github.com/repos/spring-projects/spring-reactive/issues/19/events","html_url":"https://github.com/spring-projects/spring-reactive/pull/19","id":108860850,"number":19,"title":"Return HandlerResult instead of Publisher<HandlerResult> in HttpHandlerAdapter#handle()","user":{"login":"sdeleuze","id":141109,"avatar_url":"https://avatars.githubusercontent.com/u/141109?v=3","gravatar_id":"","url":"https://api.github.com/users/sdeleuze","html_url":"https://github.com/sdeleuze","followers_url":"https://api.github.com/users/sdeleuze/followers","following_url":"https://api.github.com/users/sdeleuze/following{/other_user}","gists_url":"https://api.github.com/users/sdeleuze/gists{/gist_id}","starred_url":"https://api.github.com/users/sdeleuze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sdeleuze/subscriptions","organizations_url":"https://api.github.com/users/sdeleuze/orgs","repos_url":"https://api.github.com/users/sdeleuze/repos","events_url":"https://api.github.com/users/sdeleuze/events{/privacy}","received_events_url":"https://api.github.com/users/sdeleuze/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-09-29T12:41:05Z","updated_at":"2015-10-02T18:07:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spring-projects/spring-reactive/pulls/19","html_url":"https://github.com/spring-projects/spring-reactive/pull/19","diff_url":"https://github.com/spring-projects/spring-reactive/pull/19.diff","patch_url":"https://github.com/spring-projects/spring-reactive/pull/19.patch"},"body":"As discussed during the meeting, this PR changes `HttpHandlerAdapter#handle()` from returning `Publisher<HandlerResult>` to `HandlerResult`.\r\n\r\nThis change implies another one from my POV: for non `@ResponseBody` based `HttpHandler`, the handling has been moved from `HttpHandlerAdapter` to an `HandlerResultHandler` implementation (the new `HttpHandlerResultHandler` class). That seems to me a logical change: performing the request is a `HandlerResultHandler`responsibility, not a `HttpHandlerAdapter` responsibility, for all implementations.\r\n"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-reactive/issues/comments/145108629","html_url":"https://github.com/spring-projects/spring-reactive/pull/19#issuecomment-145108629","issue_url":"https://api.github.com/repos/spring-projects/spring-reactive/issues/19","id":145108629,"user":{"login":"sdeleuze","id":141109,"avatar_url":"https://avatars.githubusercontent.com/u/141109?v=3","gravatar_id":"","url":"https://api.github.com/users/sdeleuze","html_url":"https://github.com/sdeleuze","followers_url":"https://api.github.com/users/sdeleuze/followers","following_url":"https://api.github.com/users/sdeleuze/following{/other_user}","gists_url":"https://api.github.com/users/sdeleuze/gists{/gist_id}","starred_url":"https://api.github.com/users/sdeleuze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sdeleuze/subscriptions","organizations_url":"https://api.github.com/users/sdeleuze/orgs","repos_url":"https://api.github.com/users/sdeleuze/repos","events_url":"https://api.github.com/users/sdeleuze/events{/privacy}","received_events_url":"https://api.github.com/users/sdeleuze/received_events","type":"User","site_admin":false},"created_at":"2015-10-02T18:07:15Z","updated_at":"2015-10-02T18:07:15Z","body":"Ok, I have renamed it to `SimpleHandlerResultHandler`, updated the `SimpleHandlerResultHandler#supports()` method to not restrict it to `HttpHandler` and updated `ResponseBodyResultHandler#supports()` to not support handler methods returning `Publisher<Void>` since this case will be handle by `SimpleHandlerResultHandler` as described in your comment."}}