diff --git a/PocketSharp/IPocketClient.cs b/PocketSharp/IPocketClient.cs
index 91bd6d4..3f78fe0 100644
--- a/PocketSharp/IPocketClient.cs
+++ b/PocketSharp/IPocketClient.cs
@@ -26,7 +26,7 @@ namespace PocketSharp
///
/// The request.
///
- IRestResponse Request(RestRequest request);
+ string Request(RestRequest request);
///
/// Makes a typed HTTP REST request to the API
diff --git a/PocketSharp/PocketClient.cs b/PocketSharp/PocketClient.cs
index ea78dc1..e70e263 100644
--- a/PocketSharp/PocketClient.cs
+++ b/PocketSharp/PocketClient.cs
@@ -87,9 +87,14 @@ namespace PocketSharp
///
/// The request.
///
- public IRestResponse Request(RestRequest request)
+ public string Request(RestRequest request)
{
- return _restClient.Execute(request);
+ IRestResponse response = _restClient.Execute(request);
+
+ LastRequestData = response;
+ ValidateResponse(response);
+
+ return response.Content;
}
///
@@ -103,17 +108,29 @@ namespace PocketSharp
IRestResponse response = _restClient.Execute(request);
LastRequestData = response;
+ ValidateResponse(response);
- if(response.StatusCode != HttpStatusCode.OK)
+ return response.Data;
+ }
+
+
+ ///
+ /// Validates the response.
+ ///
+ /// The response.
+ ///
+ protected bool ValidateResponse(IRestResponse response)
+ {
+ if (response.StatusCode != HttpStatusCode.OK)
{
throw new APIException(response.Content, response.ErrorException);
}
- else if(response.ErrorException != null)
+ else if (response.ErrorException != null)
{
throw new APIException("Error retrieving response", response.ErrorException);
}
- return response.Data;
+ return true;
}