Skip to content

Commit 6042c5b

Browse files
authored
Merge pull request #132 from watson-developer-cloud/gh-129-ReturnedErrorsIsDeserialized
Fixed: validation if response is json
2 parents cdc47c2 + 45c39db commit 6042c5b

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/IBM.WatsonDeveloperCloud/Http/Filters/ErrorFilter.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,20 @@ public void OnResponse(IResponse response, HttpResponseMessage responseMessage)
3232
ServiceResponseException exception =
3333
new ServiceResponseException(response, responseMessage, $"The API query failed with status code {responseMessage.StatusCode}: {responseMessage.ReasonPhrase}");
3434

35-
var jsonError = responseMessage.Content.ReadAsStringAsync().Result;
35+
var error = responseMessage.Content.ReadAsStringAsync().Result;
3636

37-
exception.Error = JsonConvert.DeserializeObject<Error>(jsonError);
37+
if (responseMessage.Content.Headers.ContentType.MediaType == HttpMediaType.APPLICATION_JSON)
38+
{
39+
exception.Error = JsonConvert.DeserializeObject<Error>(error);
40+
}
41+
else
42+
{
43+
exception.Error = new Error()
44+
{
45+
CodeDescription = responseMessage.StatusCode.ToString(),
46+
Message = error
47+
};
48+
}
3849

3950
throw exception;
4051
}

0 commit comments

Comments
 (0)