Class HostSplittingCaravanHttpClient

  • All Implemented Interfaces:
    io.wcm.caravan.io.http.CaravanHttpClient

    @ProviderType
    public final class HostSplittingCaravanHttpClient
    extends Object
    implements io.wcm.caravan.io.http.CaravanHttpClient
    Depending on the host of the given request, decides which delegate to use.
    • Constructor Detail

      • HostSplittingCaravanHttpClient

        public HostSplittingCaravanHttpClient​(io.wcm.caravan.io.http.CaravanHttpClient delegateForHost,
                                              io.wcm.caravan.io.http.CaravanHttpClient delegateOthers,
                                              String... hosts)
        Parameters:
        delegateForHost - HTTP client used for given hosts
        delegateOthers - HTTP client used if not matching given hosts
        hosts - Host names using given HTTP client
    • Method Detail

      • execute

        public rx.Observable<io.wcm.caravan.io.http.response.CaravanHttpResponse> execute​(io.wcm.caravan.io.http.request.CaravanHttpRequest request)
        Specified by:
        execute in interface io.wcm.caravan.io.http.CaravanHttpClient
      • execute

        public rx.Observable<io.wcm.caravan.io.http.response.CaravanHttpResponse> execute​(io.wcm.caravan.io.http.request.CaravanHttpRequest request,
                                                                                          rx.Observable<io.wcm.caravan.io.http.response.CaravanHttpResponse> fallback)
        Specified by:
        execute in interface io.wcm.caravan.io.http.CaravanHttpClient
      • hasValidConfiguration

        public boolean hasValidConfiguration​(String serviceId)
        Specified by:
        hasValidConfiguration in interface io.wcm.caravan.io.http.CaravanHttpClient