public string Get(string path, NameValueCollection queryParams) { var webClient = new WebClient { BaseAddress = $"https://{_base}" }; var queryString = ""; if (queryParams.Count > 0) { queryString = ToQueryString(queryParams); } var hmacRequest = new HmacRequest { ApiId = _apiId, ApiKey = _apiKey, HostName = _base, HttpMethod = "GET", Url = path + queryString }; var authorization = _cryptoService.GetHmacHeader(hmacRequest); webClient.Headers.Add(_authHeader, authorization); var response = webClient.DownloadString($"{path}{queryString}"); return(XmlParseHelper.GetDecodedXmlResponse(response, true)); }
public string PostFile(string path, NameValueCollection queryParams, string filepath) { var webClient = new WebClient { BaseAddress = $"https://{_base}" }; var queryString = ""; if (queryParams.Count > 0) { queryString = ToQueryString(queryParams); } var hmacRequest = new HmacRequest { ApiId = _apiId, ApiKey = _apiKey, HostName = _base, HttpMethod = "POST", Url = path + queryString }; var authorization = _cryptoService.GetHmacHeader(hmacRequest); webClient.Headers.Add(_authHeader, authorization); webClient.Headers[HttpRequestHeader.ContentType] = "binary/octet-stream"; byte[] bytes = File.ReadAllBytes(filepath); var responseBytes = webClient.UploadData($"{path}{queryString}", "POST", bytes); var responseString = Encoding.ASCII.GetString(responseBytes); return(XmlParseHelper.GetDecodedXmlResponse(responseString, true)); }