Configure the Client-Server Connection
You configure the client-server connection using an object that implements the
MWHttpClientConfig interface. The interface defines these
properties:
TimeoutMilliSecondsdetermines the amount of time, in milliseconds, the client waits for a response before timing outResponseSizeLimitdetermines the maximum size, in bytes, of the response a client accepts.
The API provides a default implementation, MWHttpClientDefaultConfig,
that is automatically used when an HTTP client is instantiated. To modify the configuration,
extend MWHttpClientDefaultConfig and pass it to the HTTP client
constructor.
Create Connection with Default Configuration
When you create a client connection using the default constructor,
MWHttpClient(), an instance of
MWHttpClientDefaultConfig is automatically used to configure the
client-server connection. The default configuration sets these connection properties.
TimeOutMs=120000ResponseSizeLimit=64*1024*1024(64 MB)
Create Connection with Custom Configuration
To change one or more connection properties:
Implement a custom connection configuration by extending the
MWHttpClientDefaultConfiginterface.Create the client connection using one of the constructors that accepts a configuration object.
MWHttpClient(MWHttpClientConfig config)MWHttpClient(MWHttpClientConfig config, MWSSLConfig securityConfig)
The following code sample creates a client connection with a timeout value of 1000 ms.
class MyClientConfig : MWHttpClientDefaultConfig
{
public override int TimeoutMilliSeconds
{
get { return 1000; }
}
}
...
MWClient client = new MWHttpClient(new MyClientConfig());
...
Implementing Custom Connection Configuration
To implement a custom connection configuration extend the
MWHttpClientDefaultConfig interface. The
MWHttpClientDefaultConfig interface has one getter method for each
configuration property.
To specify that a client times out after 1 second and can only accept 4 MB responses:
class MyClientConfig : MWHttpClientDefaultConfig
{
public override int TimeoutMilliSeconds
{
get { return 60000; }
}
public override int ResponseSizeLimit
{
get { return 4*1024*1024; }
}
}