示例#1
0
        public async Task <bool> Call(ITradierCommand cmd)
        {
            bool success = false;

            HttpRequestMessage request = null;

            if (cmd.HttpMethod == HttpMethod.Get)
            {
                request = CreateGetRequest(cmd);
            }
            else if (cmd.HttpMethod == HttpMethod.Post)
            {
            }
            else
            {
                throw new ArgumentOutOfRangeException(String.Format("Unrecognized HttpMethod value on ITradierCommand: {0}", cmd.HttpMethod.Method));
            }

            //Initialize headers common to every call
            request.Headers.Accept.Clear();
            if (cmd.MessageFormat.CompareTo(MessageFormatEnum.JSON) == 0)
            {
                request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            }
            else //defaulting to Xml
            {
                request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
            }
            request.Headers.Add("Authorization", String.Format("Bearer {0}", cmd.AccessToken));

            using (HttpClient client = new HttpClient())
            {
                HttpResponseMessage response = await client.SendAsync(request);

                success = response.IsSuccessStatusCode;
                string content = await response.Content.ReadAsStringAsync();

                RawResponse raw = new RawResponse((int)response.StatusCode, content);
                cmd.RawResponse = raw;
            }
            return(success);
        }
示例#2
0
        public async Task<bool> Call(ITradierCommand cmd)
        {
            bool success = false;

            HttpRequestMessage request = null;
            if (cmd.HttpMethod == HttpMethod.Get)
            {
                request = CreateGetRequest(cmd);
            }
            else if (cmd.HttpMethod == HttpMethod.Post)
            { }
            else
                throw new ArgumentOutOfRangeException(String.Format("Unrecognized HttpMethod value on ITradierCommand: {0}", cmd.HttpMethod.Method));

            //Initialize headers common to every call
            request.Headers.Accept.Clear();
            if (cmd.MessageFormat.CompareTo(MessageFormatEnum.JSON) == 0)
            {
                request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            }
            else //defaulting to Xml
            {
                request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
            }
            request.Headers.Add("Authorization", String.Format("Bearer {0}", cmd.AccessToken));

            using(HttpClient client = new HttpClient())
            {
                HttpResponseMessage response = await client.SendAsync(request);

                success = response.IsSuccessStatusCode;
                string content = await response.Content.ReadAsStringAsync();

                RawResponse raw = new RawResponse((int)response.StatusCode, content);
                cmd.RawResponse = raw;
            }
            return success;
        }
示例#3
0
 public BaseResponse(RawResponse raw)
 {
     RawResponse = raw;
     //Create our object model if applicable based on raw.Content
 }