Uploaded image for project: '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
          hillert Gunnar Hillert added a comment - see: http://git.springsource.org/~ghillert/spring-integration/ghillerts-spring-integration/commit/d401e60a4728deaedcd829b5d461498598715cc3
          Hide
          mark.fisher 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 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 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 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@springsource.com 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@springsource.com 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 Mark Fisher added a comment -

          moving back to 2.1 M1

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

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

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

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

          Show
          mark.fisher Mark Fisher added a comment - Moving to 2.2 M1 since that version will provide the initial Async HTTP support.
          Hide
          mark.fisher 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 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
          hillert Gunnar Hillert added a comment -

          Making HttpRequestHandlingEndpointSupport public would be sufficient.

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

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

            People

            • Assignee:
              hillert Gunnar Hillert
              Reporter:
              hillert 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