Class UriPrefixingClientHttpRequestFactory

java.lang.Object
com.gooddata.sdk.common.UriPrefixingClientHttpRequestFactory
All Implemented Interfaces:
org.springframework.http.client.ClientHttpRequestFactory

public class UriPrefixingClientHttpRequestFactory extends Object implements org.springframework.http.client.ClientHttpRequestFactory
Spring 6 compatible ClientHttpRequestFactory that prefixes URIs with a base URI. This implementation bridges HttpClient 4.x with Spring 6 by wrapping any ClientHttpRequestFactory and automatically prepending a base URI to all requests. This replaces the removed AsyncClientHttpRequestFactory functionality while maintaining compatibility with HttpClient 4.x through HttpComponentsClientHttpRequestFactory.
  • Constructor Details

    • UriPrefixingClientHttpRequestFactory

      public UriPrefixingClientHttpRequestFactory(org.springframework.http.client.ClientHttpRequestFactory requestFactory, URI baseUri)
      Create a new UriPrefixingClientHttpRequestFactory.
      Parameters:
      requestFactory - the underlying request factory (typically HttpComponentsClientHttpRequestFactory for HttpClient 4.x)
      baseUri - the base URI to prepend to all requests
  • Method Details

    • createRequest

      public org.springframework.http.client.ClientHttpRequest createRequest(URI uri, org.springframework.http.HttpMethod httpMethod) throws IOException
      Specified by:
      createRequest in interface org.springframework.http.client.ClientHttpRequestFactory
      Throws:
      IOException
    • getRequestFactory

      public org.springframework.http.client.ClientHttpRequestFactory getRequestFactory()
      Get the underlying request factory.
      Returns:
      the wrapped ClientHttpRequestFactory
    • getBaseUri

      public URI getBaseUri()
      Get the base URI.
      Returns:
      the base URI used for prefixing