public DexiAPIResponse SendRequest(string url, string method = "GET", object body = null)
        {
            var req = System.Net.HttpWebRequest.Create(EndPoint + url) as HttpWebRequest;

            req.Headers.Add("X-CloudScrape-Access", accessKey);
            req.Headers.Add("X-CloudScrape-Account", accountId);
            req.UserAgent   = _userAgent;
            req.Timeout     = _requestTimeout;
            req.Accept      = "application/json";
            req.ContentType = "application/json";
            req.Method      = method;

            if (body != null)
            {
                using (var streamWriter = new StreamWriter(req.GetRequestStream())) {
                    streamWriter.Write(body);
                    streamWriter.Flush();
                }
            }

            DexiAPIResponse objCloudResponse = null;
            HttpWebResponse response         = null;
            StreamReader    readStream       = null;

            try {
                response = (HttpWebResponse)req.GetResponse();

                Stream receiveStream = response.GetResponseStream();
                readStream = new StreamReader(receiveStream, Encoding.UTF8);
                string content = readStream.ReadToEnd();

                return(new DexiAPIResponse(response.StatusCode, content, response.Headers));
            } catch (Exception ex) {
                throw ex;
            } finally {
                if (response != null)
                {
                    response.Close();
                }

                if (readStream != null)
                {
                    readStream.Close();
                }
            }
        }
Esempio n. 2
0
 public DexiBinaryResponse(DexiAPIResponse response)
 {
     this.data     = response.getResponseBody();
     this.mimeType = response.getHeaders()["Content-Type"];
 }