org.teleal.cling.transport.impl
Class StreamClientImpl
java.lang.Object
org.teleal.cling.transport.impl.StreamClientImpl
- All Implemented Interfaces:
- StreamClient
public class StreamClientImpl
- extends Object
- implements StreamClient
Default implementation based on the JDK's HttpURLConnection
.
This class works around a serious design issue in the SUN JDK, so it will not work on any JDK that
doesn't offer the sun.net.www.protocol.http.HttpURLConnection
implementation.
- Author:
- Christian Bauer
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
configuration
protected final StreamClientConfigurationImpl configuration
StreamClientImpl
public StreamClientImpl(StreamClientConfigurationImpl configuration)
throws InitializationException
- Throws:
InitializationException
getConfiguration
public StreamClientConfigurationImpl getConfiguration()
- Specified by:
getConfiguration
in interface StreamClient
- Returns:
- This service's configuration.
sendRequest
public StreamResponseMessage sendRequest(StreamRequestMessage requestMessage)
- Description copied from interface:
StreamClient
- Sends the given request via TCP (HTTP) and returns the response.
This method will always try to complete execution without throwing an exception. It will
return null
if an error occurs, and optionally log any exception messages.
This method is required to add a Host
HTTP header to the
outgoing HTTP request, even if the given
StreamRequestMessage
does not contain such a header.
This method might add a User-Agent
HTTP header to the outgoing HTTP request.
- Specified by:
sendRequest
in interface StreamClient
- Parameters:
requestMessage
- The message to send.
- Returns:
- The response or
null
if no response has been received or an error occured.
applyRequestProperties
protected void applyRequestProperties(HttpURLConnection urlConnection,
StreamRequestMessage requestMessage)
applyHeaders
protected void applyHeaders(HttpURLConnection urlConnection,
org.teleal.common.http.Headers headers)
applyRequestBody
protected void applyRequestBody(HttpURLConnection urlConnection,
StreamRequestMessage requestMessage)
throws IOException
- Throws:
IOException
createResponse
protected StreamResponseMessage createResponse(HttpURLConnection urlConnection,
InputStream inputStream)
throws Exception
- Throws:
Exception
Copyright © 2011 Teleal GmbH, Switzerland. All Rights Reserved.