public static HttpClientHandler GetHttpClientHandler(ElmahIoOptions options) { if (DateTime.Now.Subtract(_initTime) > _lifeTime || _instance == null) { _instance = new HttpClientHandler { UseProxy = options.WebProxy != null, Proxy = options.WebProxy, }; _initTime = DateTime.Now; } return(_instance); }
public static IElmahioAPI Create(string apiKey, ElmahIoOptions options) { options = options ?? new ElmahIoOptions(); var client = new ElmahioAPI(new ApiKeyCredentials(apiKey), HttpClientHandlerFactory.GetHttpClientHandler(options)) { Options = options }; client.HttpClient.Timeout = new TimeSpan(0, 0, 5); client.HttpClient.DefaultRequestHeaders.UserAgent.Clear(); client.HttpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(new ProductHeaderValue("Elmah.Io.Client", $"{typeof(ElmahioAPI).GetTypeInfo().Assembly.GetName().Version}"))); return(client); }