001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.camel.component.http4;
018
019 import org.apache.http.auth.AuthScope;
020 import org.apache.http.auth.Credentials;
021 import org.apache.http.auth.NTCredentials;
022 import org.apache.http.auth.UsernamePasswordCredentials;
023 import org.apache.http.client.HttpClient;
024 import org.apache.http.impl.client.DefaultHttpClient;
025
026 public class BasicAuthenticationHttpClientConfigurer implements HttpClientConfigurer {
027 private final String username;
028 private final String password;
029 private final String domain;
030 private final String host;
031
032 public BasicAuthenticationHttpClientConfigurer(String user, String pwd, String domain, String host) {
033 username = user;
034 password = pwd;
035 this.domain = domain;
036 this.host = host;
037 }
038
039 public void configureHttpClient(HttpClient client) {
040 Credentials defaultcreds;
041 if (domain != null) {
042 defaultcreds = new NTCredentials(username, password, host, domain);
043 } else {
044 defaultcreds = new UsernamePasswordCredentials(username, password);
045 }
046 ((DefaultHttpClient) client).getCredentialsProvider().setCredentials(AuthScope.ANY, defaultcreds);
047 }
048
049 }