/* * Copyright 2012 Jason Miller * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package jj.http.client; import java.util.List; import jj.configuration.Default; import jj.configuration.DefaultProvider; /** * @author jason * */ public interface HttpClientConfiguration { /** * the ip address of the local interface to use for http client communication * if left null, will use the wildcard (all local interfaces) * if the string "loopback" will use the loopback address * otherwise it has to be a valid ipv4 or ipv6 address */ String localClientAddress(); /** * the ip address of the local interface to use for name resolution * if left null, will use the wildcard (all local interfaces) * if the string "loopback" will use the loopback address * otherwise it has to be a valid ipv4 or ipv6 address */ String localNameserverAddress(); /** * 1 or more nameservers to use for domain name resolution. by default, attempts * to read the system configuration. if that cannot be found, falls back to * OpenDNS on 208.67.222.222 and 208.67.220.220 * all addresses must be valid ipv4 or ipv6 addresses */ @DefaultProvider(NameServersDefaultProvider.class) List<String> nameservers(); @Default("JibbrJabbr") // hmmm want interpolations here. maybe String userAgent(); }