You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ol...@apache.org on 2004/02/15 14:30:55 UTC

cvs commit: jakarta-commons/httpclient/src/test/org/apache/commons/httpclient TestHttpConnectionManager.java TestWebappCookie.java TestWebappMethods.java

olegk       2004/02/15 05:30:55

  Modified:    httpclient/src/java/org/apache/commons/httpclient
                        HttpMethod.java HttpMethodBase.java
               httpclient/src/test/org/apache/commons/httpclient
                        TestHttpConnectionManager.java
                        TestWebappCookie.java TestWebappMethods.java
  Log:
  PR #26060 (Log level for message should be debug instead of error)
  
  HttpMethod#getResponseBody & HttpMethod#getResponseBodyAsString changed to
  propagate IOException to the caller instead of logging and discarding it. The patch breaks 2.0 API compatibility.
  
  Contributed by Oleg Kalnichevski
  
  Revision  Changes    Path
  1.33      +10 -6     jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethod.java
  
  Index: HttpMethod.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethod.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- HttpMethod.java	19 Nov 2003 21:11:16 -0000	1.32
  +++ HttpMethod.java	15 Feb 2004 13:30:55 -0000	1.33
  @@ -398,8 +398,10 @@
        * 
        * @return The response body, or <code>null</code> if the
        *         body is not available.
  +     * 
  +     * @throws IOException if an I/O (transport) problem occurs
        */
  -    byte[] getResponseBody();
  +    byte[] getResponseBody() throws IOException;
   
       /**
        * Returns the response body of the HTTP method, if any, as a {@link String}. 
  @@ -413,8 +415,10 @@
        *
        * @return The response body converted to a <code>String</code>, or <code>null</code>
        *         if the body is not available.
  +     * 
  +     * @throws IOException if an I/O (transport) problem occurs
        */
  -    String getResponseBodyAsString();
  +    String getResponseBodyAsString() throws IOException;
   
       /**
        * Returns the response body of the HTTP method, if any, as an InputStream.
  
  
  
  1.198     +23 -22    jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java
  
  Index: HttpMethodBase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v
  retrieving revision 1.197
  retrieving revision 1.198
  diff -u -r1.197 -r1.198
  --- HttpMethodBase.java	14 Jan 2004 20:48:43 -0000	1.197
  +++ HttpMethodBase.java	15 Feb 2004 13:30:55 -0000	1.198
  @@ -672,26 +672,24 @@
        * If response body is not available or cannot be read, returns <tt>null</tt>
        * 
        * @return The response body.
  +     * 
  +     * @throws IOException If an I/O (transport) problem occurs while obtaining the 
  +     * response body.
        */
  -    public byte[] getResponseBody() {
  +    public byte[] getResponseBody() throws IOException {
           if (this.responseBody == null) {
  -            try {
  -                InputStream instream = getResponseBodyAsStream();
  -                if (instream != null) {
  -                    LOG.debug("Buffering response body");
  -                    ByteArrayOutputStream outstream = new ByteArrayOutputStream();
  -                    byte[] buffer = new byte[4096];
  -                    int len;
  -                    while ((len = instream.read(buffer)) > 0) {
  -                        outstream.write(buffer, 0, len);
  -                    }
  -                    outstream.close();
  -                    setResponseStream(null);
  -                    this.responseBody = outstream.toByteArray();
  +            InputStream instream = getResponseBodyAsStream();
  +            if (instream != null) {
  +                LOG.debug("Buffering response body");
  +                ByteArrayOutputStream outstream = new ByteArrayOutputStream();
  +                byte[] buffer = new byte[4096];
  +                int len;
  +                while ((len = instream.read(buffer)) > 0) {
  +                    outstream.write(buffer, 0, len);
                   }
  -            } catch (IOException e) {
  -                LOG.error("I/O failure reading response body", e);
  -                this.responseBody = null;
  +                outstream.close();
  +                setResponseStream(null);
  +                this.responseBody = outstream.toByteArray();
               }
           }
           return this.responseBody;
  @@ -725,8 +723,11 @@
        * in <tt>Content-Type</tt> header.
        *
        * @return The response body.
  +     * 
  +     * @throws IOException If an I/O (transport) problem occurs while obtaining the 
  +     * response body.
        */
  -    public String getResponseBodyAsString() {
  +    public String getResponseBodyAsString() throws IOException {
           byte[] rawdata = null;
           if (responseAvailable()) {
               rawdata = getResponseBody();
  
  
  
  1.17      +6 -6      jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpConnectionManager.java
  
  Index: TestHttpConnectionManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpConnectionManager.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- TestHttpConnectionManager.java	12 Jan 2004 23:03:12 -0000	1.16
  +++ TestHttpConnectionManager.java	15 Feb 2004 13:30:55 -0000	1.17
  @@ -109,7 +109,7 @@
        * Test that the ConnectMethod correctly releases connections when
        * CONNECT fails.
        */
  -    public void testConnectMethodFailureRelease() {
  +    public void testConnectMethodFailureRelease() throws Exception {
           
           MultiThreadedHttpConnectionManager mgr = new MultiThreadedHttpConnectionManager();
           mgr.getParams().setIntParameter(
  @@ -331,7 +331,7 @@
        * Makes sure that a connection gets released after the content of the body
        * is read.
        */
  -    public void testResponseAutoRelease() {
  +    public void testResponseAutoRelease() throws Exception  {
   
           MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
           connectionManager.getParams().setIntParameter(
  
  
  
  1.14      +5 -5      jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestWebappCookie.java
  
  Index: TestWebappCookie.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestWebappCookie.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- TestWebappCookie.java	20 Oct 2003 22:17:12 -0000	1.13
  +++ TestWebappCookie.java	15 Feb 2004 13:30:55 -0000	1.14
  @@ -711,7 +711,7 @@
       }
       
       
  -    public void testCookiePolicies() {
  +    public void testCookiePolicies() throws Exception  {
           HttpClient client = createHttpClient();
   
   
  
  
  
  1.20      +6 -6      jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestWebappMethods.java
  
  Index: TestWebappMethods.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestWebappMethods.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- TestWebappMethods.java	13 Jan 2004 18:47:27 -0000	1.19
  +++ TestWebappMethods.java	15 Feb 2004 13:30:55 -0000	1.20
  @@ -359,7 +359,7 @@
       }
   
   
  -    public void testPostBodyChunked() {
  +    public void testPostBodyChunked() throws Exception  {
           HttpClient client = createHttpClient();
           PostMethod method = new PostMethod("/" + getWebappContext() + "/body");
           
  @@ -392,7 +392,7 @@
       }
   
   
  -    public void testPostMethodRecycle() {
  +    public void testPostMethodRecycle() throws Exception {
           HttpClient client = createHttpClient();
           PostMethod method = new PostMethod("/" + getWebappContext() + "/body");
           
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org