public abstract class BaseClientService : IClientService, IDisposable
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.
Inheritance
Object >
BaseClientService
Namespace
Google.Apis.Services
Assembly
Google.Apis.dll
Constructors
BaseClientService(BaseClientService.Initializer)
protected BaseClientService(BaseClientService.Initializer initializer)
Constructs a new base client with the specified initializer.
Parameter
Fields
DefaultMaxUrlLength
public const uint DefaultMaxUrlLength = 2048U
The default maximum allowed length of a URL string for GET requests.
Field Value
Properties
ApiKey
public string ApiKey { get; }
Gets the API-Key (DeveloperKey) which this service uses for all requests.
Property Value
ApplicationName
public string ApplicationName { get; }
Gets the application name to be used in the User-Agent header.
Property Value
BasePath
public abstract string BasePath { get; }
Gets the BasePath of the service.
Property Value
BaseUri
public abstract string BaseUri { get; }
Gets the BaseUri of the service. All request paths should be relative to this URI.
Property Value
BaseUriOverride
protected string BaseUriOverride { get; }
The BaseUri provided in the initializer, which may be null.
Property Value
BatchPath
public virtual string BatchPath { get; }
The path used for batch operations.
Property Value
BatchUri
public virtual string BatchUri { get; }
The URI used for batch operations.
Property Value
Features
public abstract IList<string> Features { get; }
Gets the supported features by this service.
Property Value
GZipEnabled
public bool GZipEnabled { get; }
Gets or sets whether this service supports GZip.
Property Value
HttpClient
public ConfigurableHttpClient HttpClient { get; }
Gets the HTTP client which is used to create requests.
Property Value
HttpClientInitializer
public IConfigurableHttpClientInitializer HttpClientInitializer { get; }
Property Value
Name
public abstract string Name { get; }
Property Value
Serializer
public ISerializer Serializer { get; }
Gets the Serializer used by this service.
Property Value
Methods
CreateBackOffHandler()
protected virtual BackOffHandler CreateBackOffHandler()
Creates the back-off handler with ExponentialBackOff.
Overrides this method to change the default behavior of back-off handler (e.g. you can change the maximum
waited request's time span, or create a back-off handler with you own implementation of
IBackOff).
Returns
DeserializeError(HttpResponseMessage)
public virtual Task<RequestError> DeserializeError(HttpResponseMessage response)
Parameter
Returns
Exceptions
DeserializeResponse<T>(HttpResponseMessage)
public virtual async Task<T> DeserializeResponse<T>(HttpResponseMessage response)
Deserializes a response into the specified object.
Parameter
Returns
Type Parameter
Dispose()
public virtual void Dispose()
SerializeObject(Object)
public virtual string SerializeObject(object obj)
Serializes an object into a string representation.
Parameter
Returns
SetRequestSerailizedContent(HttpRequestMessage, Object)
public void SetRequestSerailizedContent(HttpRequestMessage request, object body)
Sets the content of the request by the given body and the this service's configuration.
First the body object is serialized by the Serializer and then, if GZip is enabled, the content will be
wrapped in a GZip stream, otherwise a regular string stream will be used.
Parameters
Extension Method