public RestClient(IHttpClient client, IRestClientSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } if (settings.BaseUri != null) { client.BaseAddress = settings.BaseUri; } else if (client.BaseAddress != null) { settings.BaseUri = client.BaseAddress; } else { throw new ArgumentException("A base URI is required."); } if (settings.DefaultHeaders != null) { foreach (var header in settings.DefaultHeaders) { client.AddDefaultHeader(header.Key, header.Value); } } Settings = settings; HttpClient = client; }
public async Task <IHttpClient> CreateClientAsync(bool formatForFetchXml) { var accessToken = await _dynamics365AuthenticationService.GetAccessTokenAsync().ConfigureAwait(false); _client = new RestfulHttpClient(); _client.SetBaseUrl(_configuration.OrganizationUrl); _client.AddDefaultHeader("OData-MaxVersion", "4.0"); _client.AddDefaultHeader("OData-Version", "4.0"); _client.AddDefaultHeader("Accept", "application/json"); _client.AddDefaultHeader("Authorization", "Bearer " + accessToken); if (formatForFetchXml) { _client.AddDefaultHeader("Prefer", "odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\""); } return(_client); }