Cisco Cisco Prime Home 6.3 开发者指南
Cisco Prime Home – Integration Guide
OL-28558-01 v5.1
77
com.clearaccess.rest.HttpClientFactory
/*
* Copyright (c) 2010 ClearAccess, Inc.
* This code is provided AS-IS for illustration purposes.
*/
* This code is provided AS-IS for illustration purposes.
*/
package com.clearaccess.rest;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import
org.springframework.http.client.CommonsClientHttpRequestFactory;
import org.springframework.stereotype.Component;
import org.springframework.beans.factory.annotation.Autowired;
import com.clearaccess.Configuration;
import java.net.URL;
import java.net.MalformedURLException;
@Component
public class HttpClientFactory extends
CommonsClientHttpRequestFactory {
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import
org.springframework.http.client.CommonsClientHttpRequestFactory;
import org.springframework.stereotype.Component;
import org.springframework.beans.factory.annotation.Autowired;
import com.clearaccess.Configuration;
import java.net.URL;
import java.net.MalformedURLException;
@Component
public class HttpClientFactory extends
CommonsClientHttpRequestFactory {
private Configuration configuration;
@Autowired
public HttpClientFactory(Configuration configuration) {
@Autowired
public HttpClientFactory(Configuration configuration) {
this.configuration = configuration;
}
/**
/**
* intercepts the super.getHttpClient and modifies its state to
include
* authentication credentials
* @return the http client
*/
include
* authentication credentials
* @return the http client
*/
@Override
public HttpClient getHttpClient() {
public HttpClient getHttpClient() {
try {
final HttpClient client = super.getHttpClient();
final UsernamePasswordCredentials credentials =
final UsernamePasswordCredentials credentials =
new UsernamePasswordCredentials(configuration.getUser(),
configuration.getPassword());
final URL url = new URL(configuration.getUrl());
final AuthScope authScope = new AuthScope(url.getHost(),
final AuthScope authScope = new AuthScope(url.getHost(),
url.getPort(), AuthScope.ANY_REALM);
client.getState().setCredentials(authScope, credentials);
return client;
return client;
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
}