Interface HttpExecuteInterceptor

  • All Known Implementing Classes:
    BasicAuthentication

    public interface HttpExecuteInterceptor
    HTTP request execute interceptor to intercept the start of HttpRequest.execute() before executing the HTTP request.

    For example, this might be used to sign a request for OAuth:

      public class OAuthSigner implements HttpExecuteInterceptor {
        public void intercept(HttpRequest request) throws IOException {
          // sign request...
        }
      }
     

    Sample usage with a request factory:

      public static HttpRequestFactory createRequestFactory(HttpTransport transport) {
        final OAuthSigner signer = new OAuthSigner(...);
        return transport.createRequestFactory(new HttpRequestInitializer() {
          public void initialize(HttpRequest request) {
            request.setInterceptor(signer);
          }
        });
      }
     

    More complex usage example:

      public static HttpRequestFactory createRequestFactory2(HttpTransport transport) {
        final OAuthSigner signer = new OAuthSigner(...);
        return transport.createRequestFactory(new HttpRequestInitializer() {
          public void initialize(HttpRequest request) {
            request.setInterceptor(new HttpExecuteInterceptor() {
              public void intercept(HttpRequest request) throws IOException {
                signer.intercept(request);
              }
            });
          }
        });
      }
     

    Implementations should normally be thread-safe.

    Since:
    1.0
    • Method Detail

      • intercept

        void intercept​(HttpRequest request)
                throws java.io.IOException
        Invoked at the start of HttpRequest.execute() before executing the HTTP request.
        Throws:
        java.io.IOException