public IRestClient Create(IRestClientSettings settings) { return(new RestClient( settings, HttpClientFactory.CreateClient() )); }
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 static bool Supports(this IRestClientSettings settings, ContentFormat format) { return(settings.Serializers != null && settings.Serializers.Any(x => x.SupportedFormat == format)); }
public static IContentSerializer KeyValueSerializer(this IRestClientSettings settings) { return(settings.Serializer(ContentFormat.KeyValue)); }
public static IContentSerializer XmlSerializer(this IRestClientSettings settings) { return(settings.Serializer(ContentFormat.Xml)); }
public static IContentSerializer Serializer(this IRestClientSettings settings, ContentFormat format) { return(settings.Serializers != null?settings.Serializers.FirstOrDefault(x => x.SupportedFormat == format) : null); }
public static bool SupportsKeyValue(this IRestClientSettings settings) => settings.Supports(ContentFormat.KeyValue);
public static bool SupportsJson(this IRestClientSettings settings) => settings.Supports(ContentFormat.Json);
public static bool SupportsXml(this IRestClientSettings settings) => settings.Supports(ContentFormat.Xml);
public static IRestClient AsRestClient(this HttpClient client, IRestClientSettings settings) { return(new DefaultHttpClient(client).AsRestClient(settings)); }
public static IRestClient AsRestClient(this IHttpClient client, IRestClientSettings settings) { return(new RestClient(client, settings)); }
public RestClient(IRestClientSettings settings) : this(CreateClient(settings), settings) { }
private static IHttpClient CreateClient(IRestClientSettings settings) { return(settings.MessageHandler != null ? new DefaultHttpClient(settings.MessageHandler) : new DefaultHttpClient()); }