From: <bil...@us...> - 2009-05-27 16:33:26
|
Revision: 860 http://echodep.svn.sourceforge.net/echodep/?rev=860&view=rev Author: bill_ingram Date: 2009-05-27 16:33:13 +0000 (Wed, 27 May 2009) Log Message: ----------- Bug Fix: Authentication: when no username/password were given, no exception was being thrown or caught. Strange results followed when calls were made on the http object. Modified Paths: -------------- trunk/lrcrud-client/src/edu/uiuc/ndiipp/hubandspoke/lrcrud/client/LrcrudClient.java Modified: trunk/lrcrud-client/src/edu/uiuc/ndiipp/hubandspoke/lrcrud/client/LrcrudClient.java =================================================================== --- trunk/lrcrud-client/src/edu/uiuc/ndiipp/hubandspoke/lrcrud/client/LrcrudClient.java 2009-05-27 16:33:10 UTC (rev 859) +++ trunk/lrcrud-client/src/edu/uiuc/ndiipp/hubandspoke/lrcrud/client/LrcrudClient.java 2009-05-27 16:33:13 UTC (rev 860) @@ -230,7 +230,9 @@ } //check for valid date header - if (http.getDate() == 0) { + long the_date = http.getDate(); + + if (the_date == 0) { throw new RuntimeException("The LRCRUD response is missing the Date"); } //check that Date is within one hour of actual time @@ -241,8 +243,10 @@ //if the status code is OK then check for unexpected response headers int rcode; + String rmessage; try { rcode = http.getResponseCode(); + rmessage = http.getResponseMessage(); } catch (IOException e) { throw new RuntimeException(e); } @@ -264,7 +268,10 @@ if (http.getHeaderField("Transport-Encoding") != null && http.getHeaderField("Transport-Encoding").compareToIgnoreCase("chunked") != 0) { throw new RuntimeException("The LRCRUD response has an invalid Transport-Encoding '" + http.getHeaderField("Transport-Encoding") + "'"); } - } + } else { + http.disconnect(); + throw new LrcrudClientException(rcode + ": " + rmessage); + } rr.url = uri.toString(); rr.http = http; @@ -565,6 +572,10 @@ URI thisURI = null; try { + String location = this.getLocation(); + if (location == null) { + throw new LrcrudClientException("Unauthorized"); + } locURI = new URI(this.getLocation()); thisURI = baseURL; } catch (URISyntaxException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |