Raise exception if HTTP response is other than Success
March 18, 2016 Leave a comment
The standard way nowadays to perform a HTTP request in .NET is using the HttpClient object in the System.Net.Http namespace. There are other objects with a similar purpose, such as HttpWebRequest but HttpClient has probably become the most common.
The HttpClient has a range of methods, such as GetAsync or PostAsync that return an object of type HttpResponseMessage – or to be exact a Task of HttpResponseMessage as they are asynchronous methods that can be awaited.
The HttpResponseMessage has quite a handy method called EnsureSuccessStatusCode. It raises an exception if the HTTP response code was something else than Success. Therefore if you need to immediately know that there was a problem with a HTTP response then this method is a quick way to show that. Its usage is simple:
HttpClient client = new HttpClient() { BaseAddress = "http://www.myapi.com/" }; HttpResponseMessage response = await client.GetAsync("customers"); response.EnsureSuccessStatusCode();
View all various C# language feature related posts here.