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 request. If the given Authenticator implements IHttpUnsuccessfulResponseHandler, this class adds the Authenticator to the ConfigurableMessageHandler's unsuccessful response handler list.
An initializer class for the client service.
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.