public static Function<? super HttpClient, CircuitBreakerClient>
    newPerHostDecorator(Function<String, ? extends CircuitBreaker> factory, CircuitBreakerRule rule) {
        return newDecorator(CircuitBreakerMapping.perHost(factory), rule);
    }
Creates a new decorator that binds one {@link CircuitBreaker} per host with the specified
{@link CircuitBreakerRule}.

<p>Since {@link CircuitBreaker} is a unit of failure detection, don't reuse the same instance for
unrelated services.

@param factory a function that takes a host name and creates a new {@link CircuitBreaker}.
core/src/main/java/com/linecorp/armeria/client/circuitbreaker/CircuitBreakerClient.java