|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.thrift.transport.TTransport
org.apache.thrift.transport.THttpClient
public class THttpClient
HTTP implementation of the TTransport interface. Used for working with a Thrift web services implementation (using for example TServlet). This class offers two implementations of the HTTP transport. One uses HttpURLConnection instances, the other HttpClient from Apache Http Components. The chosen implementation depends on the constructor used to create the THttpClient instance. Using the THttpClient(String url) constructor or passing null as the HttpClient to THttpClient(String url, HttpClient client) will create an instance which will use HttpURLConnection. When using HttpClient, the following configuration leads to 5-15% better performance than the HttpURLConnection implementation: http.protocol.version=HttpVersion.HTTP_1_1 http.protocol.content-charset=UTF-8 http.protocol.expect-continue=false http.connection.stalecheck=false Also note that under high load, the HttpURLConnection implementation may exhaust the open file descriptor limit.
Nested Class Summary | |
---|---|
static class |
THttpClient.Factory
|
Constructor Summary | |
---|---|
THttpClient(java.lang.String url)
|
|
THttpClient(java.lang.String url,
org.apache.http.client.HttpClient client)
|
Method Summary | |
---|---|
void |
close()
Closes the transport. |
void |
flush()
Flush any pending data out of a transport buffer. |
boolean |
isOpen()
Queries whether the transport is open. |
void |
open()
Opens the transport for reading/writing. |
int |
read(byte[] buf,
int off,
int len)
Reads up to len bytes into buffer buf, starting at offset off. |
void |
setConnectTimeout(int timeout)
|
void |
setCustomHeader(java.lang.String key,
java.lang.String value)
|
void |
setCustomHeaders(java.util.Map<java.lang.String,java.lang.String> headers)
|
void |
setReadTimeout(int timeout)
|
void |
write(byte[] buf,
int off,
int len)
Writes up to len bytes from the buffer. |
Methods inherited from class org.apache.thrift.transport.TTransport |
---|
consumeBuffer, getBuffer, getBufferPosition, getBytesRemainingInBuffer, peek, readAll, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public THttpClient(java.lang.String url) throws TTransportException
TTransportException
public THttpClient(java.lang.String url, org.apache.http.client.HttpClient client) throws TTransportException
TTransportException
Method Detail |
---|
public void setConnectTimeout(int timeout)
public void setReadTimeout(int timeout)
public void setCustomHeaders(java.util.Map<java.lang.String,java.lang.String> headers)
public void setCustomHeader(java.lang.String key, java.lang.String value)
public void open()
TTransport
open
in class TTransport
public void close()
TTransport
close
in class TTransport
public boolean isOpen()
TTransport
isOpen
in class TTransport
public int read(byte[] buf, int off, int len) throws TTransportException
TTransport
read
in class TTransport
buf
- Array to read intooff
- Index to start reading atlen
- Maximum number of bytes to read
TTransportException
- if there was an error reading datapublic void write(byte[] buf, int off, int len)
TTransport
write
in class TTransport
buf
- The output data bufferoff
- The offset to start writing fromlen
- The number of bytes to writepublic void flush() throws TTransportException
TTransport
flush
in class TTransport
TTransportException
- if there was an error writing out data.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |