Interface IRequestHandler2

All Known Implementing Classes:
CredentialsRequestHandler, RequestHandler2, StackedRequestHandler

public interface IRequestHandler2
Interface for RequestHandler2. Do not use this outside the core SDK. We can and will add methods to this interface in the future. Extends RequestHandler2 to implement a custom request handler.
  • Method Details

    • beforeMarshalling

      Runs any additional processing logic on the specified request object before it is marshaled into an HTTP request.

      If you're going to modify the request, make sure to clone it first, modify the clone, and return it from this method. Otherwise your changes will leak out to the user, who might reuse the request object without realizing that it was modified as part of sending it the first time.

      Parameters:
      request - the request passed in by the user
      Returns:
      the (possibly different) request to marshal
    • beforeRequest

      void beforeRequest(Request<?> request)
      Runs any additional processing logic on the specified request (before it is executed by the client runtime).
      Parameters:
      request - The low level request being processed.
    • beforeUnmarshalling

      HttpResponse beforeUnmarshalling(Request<?> request, HttpResponse httpResponse)
      Runs any additional processing logic on the specified response before it's unmarshalled. This callback is only invoked on successful responses that will be unmarsahlled into an appropriate modeled class and not for unsuccessful responses that will be unmarshalled into a subclass of AmazonServiceException
      Parameters:
      request - The low level request being processed.
      httpResponse - The Raw HTTP response before being unmarshalled
      Returns:
      HttpResponse to replace the actual response. May be a mutated version of the original or a completely new HttpResponse object
    • afterResponse

      void afterResponse(Request<?> request, Response<?> response)
      Runs any additional processing logic on the specified request (after is has been executed by the client runtime).
      Parameters:
      request - The low level request being processed.
      response - The response generated from the specified request.
    • afterError

      void afterError(Request<?> request, Response<?> response, Exception e)
      Runs any additional processing logic on a request after it has failed.
      Parameters:
      request - The request that generated an error.
      response - the response or null if the failure occurred before the response is made available
      e - The error that resulted from executing the request.