public ResponseEnvelope Get(string url, Dictionary <string, string> headers = null) { var urlDebug = $"HTTP GET on {url}"; var errorContext = BuildErrorContext(urlDebug); _logger.Debug(urlDebug); // Act var response = _executor.Do(() => _httpClient.GetAsync(url).Result, errorContext); // Process var output = response.ToEnvelope(); _logger.Trace(output.Body); ProcessStatusCodes(output, errorContext); return(output); }
public ResponseEnvelope Get( string path, Dictionary <string, string> headers = null, bool excludeVersion = false) { // Arrange var address = MakeFinalUrl(path, excludeVersion); var urlDebug = $"HTTP GET on {address} (ContextId: {this.ObjectIdentifier})"; var errorContext = BuildErrorContext(urlDebug); _logger.Debug(urlDebug); // Act var response = _executor.Do(() => _httpClient.GetAsync(address).Result, errorContext); // Response var output = response.ToEnvelope(); _logger.Trace(output.Body); // Assert return(ProcessStatusCodes(output, urlDebug)); }
public bool Log(LogLevel logLevel, Func <string> messageFunc, Exception exception = null) { if (_logger == null) { return(false); } if (messageFunc == null && exception == null) { return(true); } if (logLevel == LogLevel.Trace && _logger.IsTraceEnabled) { _logger.Trace(messageFunc()); } if (logLevel == LogLevel.Debug && _logger.IsDebugEnabled) { _logger.Debug(messageFunc()); } if (logLevel == LogLevel.Info && _logger.IsInfoEnabled) { _logger.Info(messageFunc()); } if (logLevel == LogLevel.Warn && _logger.IsWarnEnabled) { _logger.Warn(messageFunc()); } if (logLevel == LogLevel.Error && _logger.IsErrorEnabled) { var message = messageFunc(); if (!message.IsNullOrEmpty()) { _logger.Error(message); } _logger.Error(exception); } if (logLevel == LogLevel.Fatal && _logger.IsFatalEnabled) { _logger.Fatal(messageFunc()); } return(true); }
public string RetrieveInventoryLevels(List <long> inventoryItemIds) { if (inventoryItemIds.Count == 0) { throw new ArgumentException("Empty list of InventoryItemIds"); } if (inventoryItemIds.Count > 50) { throw new ArgumentException("Maximum size for InventoryItemIds is 50"); } var queryString = new QueryStringBuilder() .Add("inventory_item_ids", inventoryItemIds.ToCommaSeparatedList()) .ToString(); var path = $"/admin/api/2019-10/inventoryItemIds?{queryString}"; var clientResponse = _httpClient.Get(path); _logger.Trace(clientResponse.Body); return(clientResponse.Body); }