/// <summary> /// Updates the call settings with configuration parameters. /// </summary> /// <param name="callSettings">The call settings.</param> /// <param name="config">The configuration.</param> /// <param name="serviceContext">The service context.</param> /// <returns></returns> private CallSettings UpdateCallSettingsWithConfigParameters(CallSettings callSettings, GoogleAdsConfig config, GoogleAdsServiceContext serviceContext) { callSettings = callSettings.WithHeader(GoogleAdsConfig.DEVELOPER_TOKEN_KEYNAME, config.DeveloperToken) .WithResponseMetadataHandler(delegate(Metadata metadata) { GoogleAdsResponseMetadata responseMetadata = new GoogleAdsResponseMetadata(metadata); serviceContext.OnResponseMetadataReceived(responseMetadata); }); if (!string.IsNullOrEmpty(config.LoginCustomerId)) { callSettings = callSettings.WithHeader(GoogleAdsConfig.LOGIN_CUSTOMER_ID_KEYNAME, config.LoginCustomerId); } if (!string.IsNullOrEmpty(config.LibraryIdentifierOverride)) { callSettings = callSettings.WithHeader(GoogleAdsConfig.LIBRARY_IDENTIFIER_KEYNAME, config.LibraryIdentifierOverride); } callSettings = callSettings.WithCallTiming(CallTiming.FromTimeout( TimeSpan.FromMilliseconds(config.Timeout))); return(callSettings); }
/// <summary> /// Creates a service context that binds the service, callsettings and the client. /// </summary> /// <param name="config">The configuration.</param> /// <returns>The service context.</returns> private GoogleAdsServiceContext CreateServiceContext(GoogleAdsConfig config) { GoogleAdsServiceContext serviceContext = new GoogleAdsServiceContext(); CallSettings callSettings = CallSettings.FromCallTiming( CallTiming.FromRetry(new RetrySettings( retryBackoff : backoffSettings, timeoutBackoff : backoffSettings, totalExpiration : Expiration.FromTimeout(TimeSpan.FromMilliseconds( config.Timeout)), retryFilter : retryFilter ))) .WithHeader(GoogleAdsConfig.DEVELOPER_TOKEN_KEYNAME, config.DeveloperToken) .WithResponseMetadataHandler(delegate(Metadata metadata) { GoogleAdsResponseMetadata responseMetadata = new GoogleAdsResponseMetadata(metadata); serviceContext.OnResponseMetadataReceived(responseMetadata); }); if (!string.IsNullOrEmpty(config.LoginCustomerId)) { callSettings.WithHeader("login-customer-id", config.LoginCustomerId); } serviceContext.CallSettings = callSettings; return(serviceContext); }
/// <summary> /// Updates the call settings with configuration parameters. /// </summary> /// <param name="callSettings">The call settings.</param> /// <param name="config">The configuration.</param> /// <param name="serviceContext">The service context.</param> /// <returns></returns> private CallSettings UpdateCallSettingsWithConfigParameters(CallSettings callSettings, GoogleAdsConfig config, GoogleAdsServiceContext serviceContext) { callSettings = callSettings.WithHeader(MetadataKeyNames.DeveloperToken, config.DeveloperToken) .WithResponseMetadataHandler(delegate(Metadata metadata) { AdsResponseMetadata responseMetadata = new AdsResponseMetadata(metadata); serviceContext.OnResponseMetadataReceived(responseMetadata); }); if (!string.IsNullOrEmpty(config.LoginCustomerId)) { callSettings = callSettings.WithHeader(MetadataKeyNames.LoginCustomerId, config.LoginCustomerId); } if (!string.IsNullOrEmpty(config.LinkedCustomerId)) { callSettings = callSettings.WithHeader(MetadataKeyNames.LinkedCustomerId, config.LinkedCustomerId); } if (!string.IsNullOrEmpty(config.LibraryIdentifierOverride)) { callSettings = callSettings.WithHeader(MetadataKeyNames.LibraryIdentifier, config.LibraryIdentifierOverride); } callSettings = callSettings.WithExpiration(Expiration.FromTimeout( TimeSpan.FromMilliseconds(config.Timeout))); return(callSettings); }