A base class for a client service which provides common mechanism for all services, like
serialization and GZip support. It should be safe to use a single service instance to make server requests
concurrently from multiple threads.
This class adds a special IHttpExecuteInterceptor to the
ConfigurableMessageHandler execute interceptor list, which uses the given
Authenticator. It calls to its applying authentication method, and injects the "Authorization" header in the
If the given Authenticator implements IHttpUnsuccessfulResponseHandler, this
class adds the Authenticator to the ConfigurableMessageHandler's unsuccessful
response handler list.
Client service contains all the necessary information a Google service requires.
Each concrete IClientServiceRequest has a reference to a service for
important properties like API key, application name, base Uri, etc.
This service interface also contains serialization methods to serialize an object to stream and deserialize a
stream into an object.