Spring Integration
  1. Spring Integration
  2. INT-1958

Http Adapter - Make HttpRequestHandlingEndpointSupport public

    Details

      Description

      In working on the AsyncHttp Adapter, I would like to extend the existing Http Adapter. More specifically, I would like to extend org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway.

      However, several methods within that class have restricted visiblity. Would it be possible to make the following 3 changes?

      in "org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway"

      change:
      "private void writeResponse(Object content, ServletServerHttpResponse response, List<MediaType> acceptTypes) throws IOException

      {...}"

      to
      "protected void writeResponse(Object content, ServletServerHttpResponse response, List<MediaType> acceptTypes) throws IOException {...}

      "

      change:
      "private Object handleExceptionInternal(Exception e) throws IOException

      {...}"

      to:
      "protected Object handleExceptionInternal(Exception e) throws IOException {...}

      "

      change:
      "public final void handleRequest(HttpServletRequest servletRequest, HttpServletResponse servletResponse)

      {...}

      "

      to:
      "public void handleRequest(HttpServletRequest servletRequest, HttpServletResponse servletResponse) {}"

        Issue Links

          Activity

          Show
          Gunnar Hillert added a comment - see: http://git.springsource.org/~ghillert/spring-integration/ghillerts-spring-integration/commit/d401e60a4728deaedcd829b5d461498598715cc3
          Hide
          Mark Fisher added a comment -

          Perhaps we can instead factor all of the common code into an abstract base class. The 3 methods you've listed could then be abstract methods. The async and sync implementations would then be relatively thin, containing only the logic that makes them unique.

          Show
          Mark Fisher added a comment - Perhaps we can instead factor all of the common code into an abstract base class. The 3 methods you've listed could then be abstract methods. The async and sync implementations would then be relatively thin, containing only the logic that makes them unique.
          Hide
          Mark Fisher added a comment -

          Setting target to 2.1 M1 since that's when we will start providing the foundation for the async HTTP adapter.

          Show
          Mark Fisher added a comment - Setting target to 2.1 M1 since that's when we will start providing the foundation for the async HTTP adapter.
          Hide
          Oleg Zhurakousky added a comment -

          I want to revisit this for M2. We may address it, move it or dismiss it, but we need to have a separate discussioni about this.

          Show
          Oleg Zhurakousky added a comment - I want to revisit this for M2. We may address it, move it or dismiss it, but we need to have a separate discussioni about this.
          Hide
          Mark Fisher added a comment -

          moving back to 2.1 M1

          Show
          Mark Fisher added a comment - moving back to 2.1 M1
          Hide
          Mark Fisher added a comment -

          I'm going to try to start this one first thing after M2.

          Show
          Mark Fisher added a comment - I'm going to try to start this one first thing after M2.
          Hide
          Mark Fisher added a comment -

          Moving to 2.2 M1 since that version will provide the initial Async HTTP support.

          Show
          Mark Fisher added a comment - Moving to 2.2 M1 since that version will provide the initial Async HTTP support.
          Hide
          Mark Fisher added a comment -

          moving to M2 since we are in discussions with Rossen regarding async support in Spring (and that may affect our approach)

          Show
          Mark Fisher added a comment - moving to M2 since we are in discussions with Rossen regarding async support in Spring (and that may affect our approach)
          Hide
          Gunnar Hillert added a comment -

          Making HttpRequestHandlingEndpointSupport public would be sufficient.

          Issued PR: https://github.com/SpringSource/spring-integration/pull/542

          Show
          Gunnar Hillert added a comment - Making HttpRequestHandlingEndpointSupport public would be sufficient. Issued PR: https://github.com/SpringSource/spring-integration/pull/542

            People

            • Assignee:
              Gunnar Hillert
              Reporter:
              Gunnar Hillert
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 0.5d
                0.5d
                Remaining:
                Remaining Estimate - 0.5d
                0.5d
                Logged:
                Time Spent - Not Specified
                Not Specified