DefaultHeaderHttpClient.java 2.04 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  org.apache.commons.httpclient.Header
 *  org.apache.commons.httpclient.HostConfiguration
 *  org.apache.commons.httpclient.HttpClient
 *  org.apache.commons.httpclient.HttpMethod
 *  org.apache.commons.httpclient.HttpState
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 */
package com.adobe.cq.dam.aod.replication.transport_config;

import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpState;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

final class DefaultHeaderHttpClient
extends HttpClient {
    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultHeaderHttpClient.class);
    private final Set<Header> headers = new HashSet<Header>();

    DefaultHeaderHttpClient() {
    }

    public /* varargs */ void setDefaultHeader(Header ... headers) {
        this.headers.addAll(Arrays.asList(headers));
    }

    public int executeMethod(HttpMethod method) throws IOException {
        this.setHeaders(method);
        return super.executeMethod(method);
    }

    public int executeMethod(HostConfiguration hostConfiguration, HttpMethod method) throws IOException {
        this.setHeaders(method);
        return super.executeMethod(hostConfiguration, method);
    }

    public int executeMethod(HostConfiguration hostConfiguration, HttpMethod method, HttpState state) throws IOException {
        this.setHeaders(method);
        return super.executeMethod(hostConfiguration, method, state);
    }

    private void setHeaders(HttpMethod method) {
        for (Header header : this.headers) {
            LOGGER.debug("set header: %s:%s", (Object)header.getName(), (Object)header.getValue());
            method.setRequestHeader(header);
        }
    }
}