@Override
    public Object newClient(ClientBuilderParams params) {
        validateParams(params);

        final Class<?> clientType = params.clientType();
        final ClientOptions options = params.options();
        final RpcClient delegate = options.decoration().rpcDecorate(
                new THttpClientDelegate(newHttpClient(params), options, params.scheme().serializationFormat()));

        if (clientType == THttpClient.class) {
            // Create a THttpClient with path.
            return new DefaultTHttpClient(params, delegate, meterRegistry());
        }

        // Create a THttpClient without path.
        final ClientBuilderParams delegateParams = params.paramsBuilder()
                                                         .absolutePathRef("/")
                                                         .clientType(THttpClient.class)
                                                         .build();

        final THttpClient thriftClient = new DefaultTHttpClient(delegateParams, delegate, meterRegistry());

        return Proxy.newProxyInstance(
                clientType.getClassLoader(),
                new Class<?>[] { clientType },
                new THttpClientInvocationHandler(params, thriftClient));
    }
Creates a new instance from the specified {@link ClientFactory} that supports the "none+http" scheme.

@throws IllegalArgumentException if the specified {@link ClientFactory} does not support HTTP
thrift/thrift0.13/src/main/java/com/linecorp/armeria/internal/client/thrift/THttpClientFactory.java