@InterfaceAudience.Public @InterfaceStability.Stable public class Client extends Object
Modifier and Type | Field and Description |
---|---|
private static String |
AUTH_COOKIE |
private static String |
AUTH_COOKIE_EQ |
private Cluster |
cluster |
private static String |
COOKIE |
static org.apache.commons.httpclient.Header[] |
EMPTY_HEADER_ARRAY |
private Map<String,String> |
extraHeaders |
private org.apache.commons.httpclient.HttpClient |
httpClient |
private static org.apache.commons.logging.Log |
LOG |
private boolean |
sslEnabled |
Constructor and Description |
---|
Client()
Default Constructor
|
Client(Cluster cluster)
Constructor
|
Client(Cluster cluster,
boolean sslEnabled)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addExtraHeader(String name,
String value)
Add extra headers.
|
Response |
delete(Cluster cluster,
String path)
Send a DELETE request
|
Response |
delete(String path)
Send a DELETE request
|
int |
execute(Cluster cluster,
org.apache.commons.httpclient.HttpMethod method,
org.apache.commons.httpclient.Header[] headers,
String path)
Execute a transaction method.
|
int |
executePathOnly(Cluster cluster,
org.apache.commons.httpclient.HttpMethod method,
org.apache.commons.httpclient.Header[] headers,
String path)
Execute a transaction method given only the path.
|
int |
executeURI(org.apache.commons.httpclient.HttpMethod method,
org.apache.commons.httpclient.Header[] headers,
String uri)
Execute a transaction method given a complete URI.
|
Response |
get(Cluster cluster,
String path)
Send a GET request
|
Response |
get(Cluster c,
String path,
org.apache.commons.httpclient.Header[] headers)
Send a GET request
|
Response |
get(Cluster cluster,
String path,
String accept)
Send a GET request
|
Response |
get(String path)
Send a GET request
|
Response |
get(String path,
org.apache.commons.httpclient.Header[] headers)
Send a GET request
|
Response |
get(String path,
String accept)
Send a GET request
|
Cluster |
getCluster() |
String |
getExtraHeader(String name)
Get an extra header value.
|
Map<String,String> |
getExtraHeaders()
Get all extra headers (read-only).
|
org.apache.commons.httpclient.HttpClient |
getHttpClient() |
Response |
head(Cluster cluster,
String path,
org.apache.commons.httpclient.Header[] headers)
Send a HEAD request
|
Response |
head(String path)
Send a HEAD request
|
private void |
initialize(Cluster cluster,
boolean sslEnabled) |
private void |
injectToken(org.apache.commons.httpclient.HttpMethod method,
org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token)
Helper method that injects an authentication token to send with the method.
|
private void |
negotiate(org.apache.commons.httpclient.HttpMethod method,
String uri)
Initiate client side Kerberos negotiation with the server.
|
Response |
post(Cluster cluster,
String path,
org.apache.commons.httpclient.Header[] headers,
byte[] content)
Send a POST request
|
Response |
post(Cluster cluster,
String path,
String contentType,
byte[] content)
Send a POST request
|
Response |
post(String path,
org.apache.commons.httpclient.Header[] headers,
byte[] content)
Send a POST request
|
Response |
post(String path,
String contentType,
byte[] content)
Send a POST request
|
Response |
put(Cluster cluster,
String path,
org.apache.commons.httpclient.Header[] headers,
byte[] content)
Send a PUT request
|
Response |
put(Cluster cluster,
String path,
String contentType,
byte[] content)
Send a PUT request
|
Response |
put(String path,
org.apache.commons.httpclient.Header[] headers,
byte[] content)
Send a PUT request
|
Response |
put(String path,
String contentType,
byte[] content)
Send a PUT request
|
void |
removeExtraHeader(String name)
Remove an extra header.
|
void |
setCluster(Cluster cluster) |
void |
shutdown()
Shut down the client.
|
public static final org.apache.commons.httpclient.Header[] EMPTY_HEADER_ARRAY
private static final org.apache.commons.logging.Log LOG
private org.apache.commons.httpclient.HttpClient httpClient
private Cluster cluster
private boolean sslEnabled
private static final String AUTH_COOKIE
private static final String AUTH_COOKIE_EQ
private static final String COOKIE
public Client()
public Client(Cluster cluster)
cluster
- the cluster definitionpublic Client(Cluster cluster, boolean sslEnabled)
cluster
- the cluster definitionsslEnabled
- enable SSL or notprivate void initialize(Cluster cluster, boolean sslEnabled)
public void shutdown()
public org.apache.commons.httpclient.HttpClient getHttpClient()
public void addExtraHeader(String name, String value)
public void removeExtraHeader(String name)
public int executePathOnly(Cluster cluster, org.apache.commons.httpclient.HttpMethod method, org.apache.commons.httpclient.Header[] headers, String path) throws IOException
cluster
- the cluster definitionmethod
- the transaction methodheaders
- HTTP header values to sendpath
- the properly urlencoded pathIOException
public int executeURI(org.apache.commons.httpclient.HttpMethod method, org.apache.commons.httpclient.Header[] headers, String uri) throws IOException
method
- the transaction methodheaders
- HTTP header values to senduri
- a properly urlencoded URIIOException
public int execute(Cluster cluster, org.apache.commons.httpclient.HttpMethod method, org.apache.commons.httpclient.Header[] headers, String path) throws IOException
cluster
- the cluster definitionmethod
- the HTTP methodheaders
- HTTP header values to sendpath
- the properly urlencoded path or URIIOException
private void negotiate(org.apache.commons.httpclient.HttpMethod method, String uri) throws IOException
method
- method to inject the authentication token into.uri
- the String to parse as a URL.IOException
- if unknown protocol is found.private void injectToken(org.apache.commons.httpclient.HttpMethod method, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token)
method
- method to inject the authentication token into.token
- authentication token to inject.public Cluster getCluster()
public void setCluster(Cluster cluster)
cluster
- the cluster definitionpublic Response head(String path) throws IOException
path
- the path or URIIOException
public Response head(Cluster cluster, String path, org.apache.commons.httpclient.Header[] headers) throws IOException
cluster
- the cluster definitionpath
- the path or URIheaders
- the HTTP headers to include in the requestIOException
public Response get(String path) throws IOException
path
- the path or URIIOException
public Response get(Cluster cluster, String path) throws IOException
cluster
- the cluster definitionpath
- the path or URIIOException
public Response get(String path, String accept) throws IOException
path
- the path or URIaccept
- Accept header valueIOException
public Response get(Cluster cluster, String path, String accept) throws IOException
cluster
- the cluster definitionpath
- the path or URIaccept
- Accept header valueIOException
public Response get(String path, org.apache.commons.httpclient.Header[] headers) throws IOException
path
- the path or URIheaders
- the HTTP headers to include in the request,
Accept must be suppliedIOException
public Response get(Cluster c, String path, org.apache.commons.httpclient.Header[] headers) throws IOException
c
- the cluster definitionpath
- the path or URIheaders
- the HTTP headers to include in the requestIOException
public Response put(String path, String contentType, byte[] content) throws IOException
path
- the path or URIcontentType
- the content MIME typecontent
- the content bytesIOException
public Response put(Cluster cluster, String path, String contentType, byte[] content) throws IOException
cluster
- the cluster definitionpath
- the path or URIcontentType
- the content MIME typecontent
- the content bytesIOException
public Response put(String path, org.apache.commons.httpclient.Header[] headers, byte[] content) throws IOException
path
- the path or URIheaders
- the HTTP headers to include, Content-Type must be
suppliedcontent
- the content bytesIOException
public Response put(Cluster cluster, String path, org.apache.commons.httpclient.Header[] headers, byte[] content) throws IOException
cluster
- the cluster definitionpath
- the path or URIheaders
- the HTTP headers to include, Content-Type must be
suppliedcontent
- the content bytesIOException
public Response post(String path, String contentType, byte[] content) throws IOException
path
- the path or URIcontentType
- the content MIME typecontent
- the content bytesIOException
public Response post(Cluster cluster, String path, String contentType, byte[] content) throws IOException
cluster
- the cluster definitionpath
- the path or URIcontentType
- the content MIME typecontent
- the content bytesIOException
public Response post(String path, org.apache.commons.httpclient.Header[] headers, byte[] content) throws IOException
path
- the path or URIheaders
- the HTTP headers to include, Content-Type must be
suppliedcontent
- the content bytesIOException
public Response post(Cluster cluster, String path, org.apache.commons.httpclient.Header[] headers, byte[] content) throws IOException
cluster
- the cluster definitionpath
- the path or URIheaders
- the HTTP headers to include, Content-Type must be
suppliedcontent
- the content bytesIOException
public Response delete(String path) throws IOException
path
- the path or URIIOException
public Response delete(Cluster cluster, String path) throws IOException
cluster
- the cluster definitionpath
- the path or URIIOException
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.