lundi 18 mai 2020

How to convert the response to Json using HttpWebResponse?

I have my SendRequest method that returns HttpWebResponse class, I want to get the response as Json when I use it in my Get request method. How can I achieve this?

Here is my SendRequest method

 private HttpWebResponse SendRequest(HttpWebRequest request, string queryParams, string token)
        {
            HttpWebResponse response = null;
            if(token != null)
            {
                request.Headers.Add("Authorization", "Bearer " + token);

            }

            request.ContentType = "application/json";

            try
            {

                response = (HttpWebResponse)request.GetResponse();

            }
            catch (WebException wex)
            {
                if (wex.Response == null)
                    throw new WebException(wex.StackTrace);

                using (var errorResponse = (HttpWebResponse)wex.Response)
                {
                    using (var reader = new StreamReader(errorResponse.GetResponseStream()))
                    {
                        throw new Exception(reader.ReadToEnd()); //expected error from JSON
                    }
                }
            }
            var responseVal = new StreamReader(stream: response.GetResponseStream()).ReadToEnd();

            return response;
        }

Here is GET Method

  public HttpWebResponse IsGet(string baseURL, string basePath, string queryParams, string token)
        {
            var request = (HttpWebRequest)WebRequest.Create(baseURL+basePath+queryParams);
            request.Method = "GET";
           return SendRequest(request, queryParams, token);
        }

Here is my Test method


        [Test]
        public void GetUser()
        {
            HttpWebResponse response  = client.IsGet(baseURL, "/User", null, token);
            //trying to get the Json response here....??? 

        }

Aucun commentaire:

Enregistrer un commentaire