Exemplo n.º 1
0
 /// <summary>
 /// Gets a string response from a REST Uri.
 /// </summary>
 /// <param name="rest">Details of things we want in the REST request.</param>
 /// <returns></returns>
 public string GetResponse(TestRestRequest rest)
 {
     var response = Invoke(rest);
     using(var reader = new StreamReader(response.GetResponseStream()))
     {
         return reader.ReadToEnd();
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Invokes the given request.
        /// </summary>
        /// <param name="rest">Details of things we want in the REST request.</param>
        /// <returns>A vanilla HttpWebResponse</returns>
        public HttpWebResponse Invoke(TestRestRequest rest)
        {
            var request = (HttpWebRequest)WebRequest.Create(
                new Uri(new Uri(_webServerUrl), rest.Uri).ToString());
            request.AllowAutoRedirect = true;
            request.Method = rest.Verb;
            request.ContentType = rest.ContentType;
            request.Credentials = rest.Credentials;
            if(!string.IsNullOrEmpty(rest.Accept))
                request.Accept = rest.Accept;

            if (rest.Body != null)
            {
                request.ContentLength = Encoding.UTF8.GetByteCount(rest.Body);
                Stream bodyStream = request.GetRequestStream();
                bodyStream.Write(Encoding.UTF8.GetBytes(rest.Body), 0, (int)request.ContentLength);
            }

            if (rest.Headers != null)
                request.Headers.Add(rest.Headers);

            Console.WriteLine(request.AsDebugString());
            var response = (HttpWebResponse) request.GetResponse();
            Console.WriteLine("\t... {0}", response.StatusCode);
            return response;
        }