public class HttpTransportManager extends AbstractTransportManager implements ITransportManager
| Modifier and Type | Field and Description |
|---|---|
protected ISymmetricEngine |
engine |
protected boolean |
isHttp2Enabled |
protected static org.slf4j.Logger |
log |
protected java.util.Map<java.lang.String,java.lang.String> |
sessionIdByUri |
protected boolean |
useHeaderSecurityToken |
protected boolean |
useSessionAuth |
extensionService| Constructor and Description |
|---|
HttpTransportManager() |
HttpTransportManager(ISymmetricEngine engine) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.String |
add(java.lang.String base,
java.lang.String key,
java.lang.String value,
java.lang.String connector) |
protected java.lang.String |
addNodeId(java.lang.String base,
java.lang.String nodeId,
java.lang.String connector) |
protected java.lang.String |
addNodeInfo(java.lang.String base,
java.lang.String nodeId,
java.lang.String securityToken,
boolean forceParamSecurityToken) |
static java.util.Map<java.lang.String,java.lang.String> |
buildRegistrationRequestProperties(Node node,
java.util.Map<java.lang.String,java.lang.String> prop) |
static java.lang.String |
buildRegistrationUrl(java.lang.String baseUrl,
Node node) |
protected java.lang.String |
buildURL(java.lang.String action,
Node remote,
Node local,
java.lang.String securityToken,
java.lang.String registrationUrl)
Build a url for an action.
|
protected void |
checkForConnectionUpgrade(HttpConnection conn) |
void |
clearSession(HttpConnection conn) |
protected HttpConnection |
createGetConnectionFor(java.net.URL url) |
protected HttpConnection |
createGetConnectionFor(java.net.URL url,
java.lang.String nodeId,
java.lang.String securityToken) |
IOutgoingWithResponseTransport |
getBandwidthPushTransport(Node remote,
Node local,
java.lang.String securityToken,
java.util.Map<java.lang.String,java.lang.String> requestProperties,
java.lang.String registrationUrl) |
int |
getCompressionLevel() |
int |
getCompressionStrategy() |
IIncomingTransport |
getConfigTransport(Node remote,
Node local,
java.lang.String securityToken,
java.lang.String symmetricVersion,
java.lang.String configVersion,
java.lang.String registrationUrl) |
protected ISymmetricEngine |
getEngine() |
IIncomingTransport |
getFilePullTransport(Node remote,
Node local,
java.lang.String securityToken,
java.util.Map<java.lang.String,java.lang.String> requestProperties,
java.lang.String registrationUrl) |
IOutgoingWithResponseTransport |
getFilePushTransport(Node remote,
Node local,
java.lang.String securityToken,
java.lang.String registrationUrl) |
int |
getHttpTimeOutInMs() |
protected static java.io.InputStream |
getInputStreamFrom(HttpConnection connection) |
int |
getOutputStreamSize() |
IIncomingTransport |
getPingTransport(Node remote,
Node local,
java.lang.String registrationUrl) |
IIncomingTransport |
getPullTransport(Node remote,
Node local,
java.lang.String securityToken,
java.util.Map<java.lang.String,java.lang.String> requestProperties,
java.lang.String registrationUrl) |
IOutgoingWithResponseTransport |
getPushTransport(Node remote,
Node local,
java.lang.String securityToken,
java.util.Map<java.lang.String,java.lang.String> requestProperties,
java.lang.String registrationUrl) |
IOutgoingWithResponseTransport |
getPushTransport(Node remote,
Node local,
java.lang.String securityToken,
java.lang.String registrationUrl) |
protected static java.io.BufferedReader |
getReaderFrom(HttpConnection connection)
If the content is gzip'd, then uncompress.
|
IIncomingTransport |
getRegisterTransport(Node node,
java.lang.String registrationUrl) |
IIncomingTransport |
getRegisterTransport(Node node,
java.lang.String registrationUrl,
java.util.Map<java.lang.String,java.lang.String> requestProperties) |
protected java.lang.String |
getUri(HttpConnection conn) |
boolean |
isOutputStreamEnabled() |
boolean |
isUseCompression(Node targetNode) |
HttpConnection |
openConnection(java.net.URL url,
java.lang.String nodeId,
java.lang.String securityToken) |
int |
sendAcknowledgement(Node remote,
java.util.List<IncomingBatch> list,
Node local,
java.lang.String securityToken,
java.lang.String registrationUrl) |
int |
sendCopyRequest(Node local) |
protected int |
sendMessage(java.lang.String action,
Node remote,
Node local,
java.lang.String data,
java.lang.String securityToken,
java.lang.String registrationUrl) |
protected int |
sendMessage(java.net.URL url,
java.lang.String nodeId,
java.lang.String securityToken,
java.lang.String data) |
int |
sendStatusRequest(Node local,
java.util.Map<java.lang.String,java.lang.String> statuses) |
void |
updateSession(HttpConnection conn) |
void |
writeAcknowledgement(java.io.OutputStream out,
Node remote,
java.util.List<IncomingBatch> list,
Node local,
java.lang.String securityToken) |
void |
writeMessage(java.io.OutputStream out,
java.lang.String data) |
append, getAcknowledgementData, getParametersFromQueryUrl, readAcknowledgement, readAcknowledgement, readAcknowledgement, resolveURLclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitreadAcknowledgement, resolveURLprotected static final org.slf4j.Logger log
protected ISymmetricEngine engine
protected java.util.Map<java.lang.String,java.lang.String> sessionIdByUri
protected boolean useHeaderSecurityToken
protected boolean useSessionAuth
protected boolean isHttp2Enabled
public HttpTransportManager()
public HttpTransportManager(ISymmetricEngine engine)
public int sendCopyRequest(Node local) throws java.io.IOException
sendCopyRequest in interface ITransportManagerjava.io.IOExceptionpublic int sendStatusRequest(Node local, java.util.Map<java.lang.String,java.lang.String> statuses) throws java.io.IOException
sendStatusRequest in interface ITransportManagerjava.io.IOExceptionpublic int sendAcknowledgement(Node remote, java.util.List<IncomingBatch> list, Node local, java.lang.String securityToken, java.lang.String registrationUrl) throws java.io.IOException
sendAcknowledgement in interface ITransportManagerjava.io.IOExceptionpublic void writeAcknowledgement(java.io.OutputStream out,
Node remote,
java.util.List<IncomingBatch> list,
Node local,
java.lang.String securityToken)
throws java.io.IOException
writeAcknowledgement in interface ITransportManagerjava.io.IOExceptionprotected int sendMessage(java.lang.String action,
Node remote,
Node local,
java.lang.String data,
java.lang.String securityToken,
java.lang.String registrationUrl)
throws java.io.IOException
java.io.IOExceptionprotected int sendMessage(java.net.URL url,
java.lang.String nodeId,
java.lang.String securityToken,
java.lang.String data)
throws java.io.IOException
java.io.IOExceptionprotected void checkForConnectionUpgrade(HttpConnection conn)
public HttpConnection openConnection(java.net.URL url, java.lang.String nodeId, java.lang.String securityToken) throws java.io.IOException
java.io.IOExceptionpublic void updateSession(HttpConnection conn)
public void clearSession(HttpConnection conn)
protected java.lang.String getUri(HttpConnection conn)
public int getOutputStreamSize()
public boolean isOutputStreamEnabled()
public int getHttpTimeOutInMs()
public boolean isUseCompression(Node targetNode)
public int getCompressionLevel()
public int getCompressionStrategy()
public void writeMessage(java.io.OutputStream out,
java.lang.String data)
throws java.io.IOException
java.io.IOExceptionpublic IIncomingTransport getFilePullTransport(Node remote, Node local, java.lang.String securityToken, java.util.Map<java.lang.String,java.lang.String> requestProperties, java.lang.String registrationUrl) throws java.io.IOException
getFilePullTransport in interface ITransportManagerjava.io.IOExceptionpublic IIncomingTransport getPullTransport(Node remote, Node local, java.lang.String securityToken, java.util.Map<java.lang.String,java.lang.String> requestProperties, java.lang.String registrationUrl) throws java.io.IOException
getPullTransport in interface ITransportManagerjava.io.IOExceptionpublic IIncomingTransport getPingTransport(Node remote, Node local, java.lang.String registrationUrl) throws java.io.IOException
getPingTransport in interface ITransportManagerjava.io.IOExceptionpublic IOutgoingWithResponseTransport getPushTransport(Node remote, Node local, java.lang.String securityToken, java.util.Map<java.lang.String,java.lang.String> requestProperties, java.lang.String registrationUrl) throws java.io.IOException
getPushTransport in interface ITransportManagerjava.io.IOExceptionpublic IOutgoingWithResponseTransport getPushTransport(Node remote, Node local, java.lang.String securityToken, java.lang.String registrationUrl) throws java.io.IOException
getPushTransport in interface ITransportManagerjava.io.IOExceptionpublic IOutgoingWithResponseTransport getFilePushTransport(Node remote, Node local, java.lang.String securityToken, java.lang.String registrationUrl) throws java.io.IOException
getFilePushTransport in interface ITransportManagerjava.io.IOExceptionpublic IIncomingTransport getConfigTransport(Node remote, Node local, java.lang.String securityToken, java.lang.String symmetricVersion, java.lang.String configVersion, java.lang.String registrationUrl) throws java.io.IOException
getConfigTransport in interface ITransportManagerjava.io.IOExceptionpublic IIncomingTransport getRegisterTransport(Node node, java.lang.String registrationUrl) throws java.io.IOException
getRegisterTransport in interface ITransportManagerjava.io.IOExceptionpublic IIncomingTransport getRegisterTransport(Node node, java.lang.String registrationUrl, java.util.Map<java.lang.String,java.lang.String> requestProperties) throws java.io.IOException
getRegisterTransport in interface ITransportManagerjava.io.IOExceptionpublic IOutgoingWithResponseTransport getBandwidthPushTransport(Node remote, Node local, java.lang.String securityToken, java.util.Map<java.lang.String,java.lang.String> requestProperties, java.lang.String registrationUrl) throws java.io.IOException
getBandwidthPushTransport in interface ITransportManagerjava.io.IOExceptionpublic static java.lang.String buildRegistrationUrl(java.lang.String baseUrl,
Node node)
throws java.io.IOException
java.io.IOExceptionpublic static java.util.Map<java.lang.String,java.lang.String> buildRegistrationRequestProperties(Node node, java.util.Map<java.lang.String,java.lang.String> prop)
protected HttpConnection createGetConnectionFor(java.net.URL url, java.lang.String nodeId, java.lang.String securityToken) throws java.io.IOException
java.io.IOExceptionprotected HttpConnection createGetConnectionFor(java.net.URL url) throws java.io.IOException
java.io.IOExceptionprotected static java.io.InputStream getInputStreamFrom(HttpConnection connection) throws java.io.IOException
java.io.IOExceptionprotected static java.io.BufferedReader getReaderFrom(HttpConnection connection) throws java.io.IOException
java.io.IOExceptionprotected java.lang.String buildURL(java.lang.String action,
Node remote,
Node local,
java.lang.String securityToken,
java.lang.String registrationUrl)
throws java.io.IOException
java.io.IOExceptionprotected java.lang.String addNodeInfo(java.lang.String base,
java.lang.String nodeId,
java.lang.String securityToken,
boolean forceParamSecurityToken)
protected java.lang.String addNodeId(java.lang.String base,
java.lang.String nodeId,
java.lang.String connector)
protected java.lang.String add(java.lang.String base,
java.lang.String key,
java.lang.String value,
java.lang.String connector)
protected ISymmetricEngine getEngine()