[tomboy] Throw exception if returned HTTP status code is not OK or CREATED.
- From: Sanford Armstrong <sharm src gnome org>
- To: svn-commits-list gnome org
- Subject: [tomboy] Throw exception if returned HTTP status code is not OK or CREATED.
- Date: Tue, 19 May 2009 15:41:13 -0400 (EDT)
commit baddce1ffb7890dd569a38aff9a5d7ab3808fdd0
Author: Sandy Armstrong <sanfordarmstrong gmail com>
Date: Tue May 19 12:36:00 2009 -0700
Throw exception if returned HTTP status code is not OK or CREATED.
Add some debug messages to show requests and corresponding response status codes.
---
Tomboy/Addins/WebSyncService/Api/WebHelper.cs | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/Tomboy/Addins/WebSyncService/Api/WebHelper.cs b/Tomboy/Addins/WebSyncService/Api/WebHelper.cs
index ba46922..6f86ff8 100644
--- a/Tomboy/Addins/WebSyncService/Api/WebHelper.cs
+++ b/Tomboy/Addins/WebSyncService/Api/WebHelper.cs
@@ -35,7 +35,7 @@ namespace Tomboy.WebSync.Api
{
public string Get (string uri, IDictionary<string, string> queryParameters, IAuthProvider auth)
{
- WebRequest request = BuildRequest (uri, queryParameters);
+ HttpWebRequest request = BuildRequest (uri, queryParameters);
request.Method = "GET";
if (auth != null)
auth.PrepareRequest (request);
@@ -48,7 +48,7 @@ namespace Tomboy.WebSync.Api
public string PutJson (string uri, IDictionary<string, string> queryParameters, string postValue, IAuthProvider auth)
{
- WebRequest request = BuildRequest (uri, queryParameters);
+ HttpWebRequest request = BuildRequest (uri, queryParameters);
request.Method = "PUT";
// TODO: Set ContentLength, UserAgent, Timeout, KeepAlive, Proxy, ContentType?
@@ -68,21 +68,29 @@ namespace Tomboy.WebSync.Api
return ProcessResponse (request);
}
- private string ProcessResponse (WebRequest request)
+ private string ProcessResponse (HttpWebRequest request)
{
string responseString;
// TODO: Error-checking
- WebResponse response = request.GetResponse ();
+ HttpWebResponse response = (HttpWebResponse) request.GetResponse ();
using (StreamReader sr = new StreamReader (response.GetResponseStream ())) {
responseString = sr.ReadToEnd ();
}
+ if (response.StatusCode != HttpStatusCode.OK &&
+ response.StatusCode != HttpStatusCode.Created)
+ throw new ApplicationException (string.Format ("Request to {0} returned with status {1} and response:\n{2}",
+ request.RequestUri,
+ response.StatusCode,
+ responseString));
+
+ Logger.Debug ("Response status code: {0}", response.StatusCode);
return responseString;
}
- private WebRequest BuildRequest (string uri, IDictionary<string, string> queryParameters)
+ private HttpWebRequest BuildRequest (string uri, IDictionary<string, string> queryParameters)
{
// NOTE: This is the proper way, but not yet implemented in Mono 2.0.1
//ServicePointManager.ServerCertificateValidationCallback = CheckCertificate;
@@ -100,8 +108,10 @@ namespace Tomboy.WebSync.Api
}
// Get rid of trailing ? or &
urlBuilder.Remove (urlBuilder.Length - 1, 1);
+ string uriString = urlBuilder.ToString ();
+ Logger.Debug ("Building request for {0}", uriString);
- return HttpWebRequest.Create (urlBuilder.ToString ());
+ return (HttpWebRequest) HttpWebRequest.Create (uriString);
}
// TODO: Consider moving to IAuthProvider
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]