Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-1325

Warp: replace piggy-backing on request/response with direct test->filter communication

XMLWordPrintable

    • Critical Issues, Warp Alpha3

      We can do similar processing as we did with CommandService here:
      https://github.com/arquillian/arquillian-extension-warp/blob/aa0745237f5df939af587c7f4682c441299713ca/impl/src/main/java/org/jboss/arquillian/warp/impl/server/execution/WarpFilter.java#L93

      The CommandService communicates with the WarpFilter asynchronously and its requests are not processed directly, they delegates to the request-serving routine.


      This way, Warp could:

      0. request is issued against proxy
      1. catch the request on the proxy
      2. register the RequestPayload (with Inspection) in the registry via the WarpFilter (under generated request-specific UUID)
      3. proxy passes request to WarpFilter with a request header which contains UUID
      4. WarpFilter associates Inspection from the registry with given request
      5. Warp proceeds with a request inspection
      6. response is commited and sent back to the proxy (with given UUID as response header)
      7. proxy catches the response and obtains ResponsePayload (with Inspection result) from the WarpFilter (using UUID)
      8. proxy processes the ResponsePayload and passes the request to the client
      9. the client processes response

      This would avoid a need for piggy-backing on request/response, so it will also eliminate need for response-wrapping (NonWritingResponse).

            lfryc Lukáš Fryč (Inactive)
            lfryc Lukáš Fryč (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

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