You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2002/09/02 17:13:40 UTC

cvs commit: jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/util HttpURLConnection.java

jsdever     2002/09/02 08:13:40

  Modified:    httpclient/src/java/org/apache/commons/httpclient/util
                        HttpURLConnection.java
  Log:
  Minor fixes to getHeaderFiledKey and getHeaderField.
  
  Contributed by: Vincent Massol
  
  Revision  Changes    Path
  1.3       +64 -40    jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/util/HttpURLConnection.java
  
  Index: HttpURLConnection.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/util/HttpURLConnection.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HttpURLConnection.java	29 Jul 2002 04:54:47 -0000	1.2
  +++ HttpURLConnection.java	2 Sep 2002 15:13:40 -0000	1.3
  @@ -155,7 +155,7 @@
        * @see java.net.HttpURLConnection#getErrorStream()
        */
       public InputStream getErrorStream() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getErrorStream()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -164,7 +164,7 @@
        * @see java.net.HttpURLConnection#disconnect()
        */
       public void disconnect() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.disconnect()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -173,7 +173,7 @@
        * @see java.net.HttpURLConnection#connect()
        */
       public void connect() throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.connect()");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -183,7 +183,7 @@
        * @see java.net.HttpURLConnection#usingProxy()
        */
       public boolean usingProxy() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.usingProxy()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -192,7 +192,7 @@
        * @see org.apache.commons.httpclient.HttpMethod#getName()
        */
       public String getRequestMethod() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getRequestMethod()");
           return this.method.getName();
       }
   
  @@ -201,7 +201,7 @@
        * @see org.apache.commons.httpclient.HttpMethod#getStatusCode()
        */
       public int getResponseCode() throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getResponseCode()");
           return this.method.getStatusCode();
       }
   
  @@ -210,7 +210,7 @@
        * @see org.apache.commons.httpclient.HttpMethod#getStatusText()
        */
       public String getResponseMessage() throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getResponseMessage()");
           return this.method.getStatusText();
       }
   
  @@ -219,7 +219,7 @@
        * @see org.apache.commons.httpclient.HttpMethod#getResponseHeaders()
        */
       public String getHeaderField(String name) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getHeaderField(String)");
           // Note: Return the last matching header in the Header[] array, as in
           // the JDK implementation.
           Header[] headers = this.method.getResponseHeaders();
  @@ -237,16 +237,25 @@
        * @see org.apache.commons.httpclient.HttpMethod#getResponseHeaders()
        */
       public String getHeaderFieldKey(int keyPosition) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getHeaderFieldKey(int)");
  +
  +        // Note: HttpClient does not consider the returned Status Line as
  +        // a response header. However, getHeaderFieldKey(0) is supposed to 
  +        // return null. Hence the special case below ...
  +        
  +        if (theKeyPosition == 0) {
  +            return null;
  +        }
  +
           // Note: I hope the header fields are kept in the correct order when
           // calling getRequestHeaders.
   
           Header[] headers = this.method.getResponseHeaders();
  -        if (keyPosition < 0 || keyPosition >= headers.length) {
  +        if (theKeyPosition < 0 || theKeyPosition >= headers.length) {
               return null;
           }
   
  -        return headers[keyPosition].getName();
  +        return headers[theKeyPosition - 1].getName();
       }
   
       /**
  @@ -254,23 +263,38 @@
        * @see org.apache.commons.httpclient.HttpMethod#getResponseHeaders()
        */
       public String getHeaderField(int position) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getHeaderField(int)");
  +
  +        // Note: HttpClient does not consider the returned Status Line as
  +        // a response header. However, getHeaderField(0) is supposed to 
  +        // return the status line. Hence the special case below ...
  +        
  +        if (thePosition == 0) {
  +            if (((HttpMethodBase) this.method).isHttp11()) {
  +                return "HTTP/1.1 " + this.method.getStatusCode() 
  +                    + " " + this.method.getStatusText();
  +            } else {
  +                return "HTTP/1.0 " + this.method.getStatusCode() 
  +                    + " " + this.method.getStatusText();
  +            }
  +        }
  +
           // Note: I hope the header fields are kept in the correct order when
           // calling getRequestHeaders.
   
           Header[] headers = this.method.getResponseHeaders();
  -        if (position < 0 || position >= headers.length) {
  +        if (thePosition < 0 || thePosition >= headers.length) {
               return null;
           }
   
  -        return headers[position].getValue();
  +        return headers[thePosition - 1].getValue();
       }
   
       /**
        * @see java.net.HttpURLConnection#getURL()
        */
       public URL getURL() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getURL()");
           return this.url;
       }
   
  @@ -292,7 +316,7 @@
        * @see java.net.HttpURLConnection#setInstanceFollowRedirects(boolean)
        */
       public void setInstanceFollowRedirects(boolean isFollowingRedirects) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setInstanceFollowRedirects(boolean)");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -302,7 +326,7 @@
        * @see java.net.HttpURLConnection#getInstanceFollowRedirects()
        */
       public boolean getInstanceFollowRedirects() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getInstanceFollowRedirects()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -311,7 +335,7 @@
        * @see java.net.HttpURLConnection#setRequestMethod(String)
        */
       public void setRequestMethod(String method) throws ProtocolException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setRequestMethod(String)");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -321,7 +345,7 @@
        * @see java.net.HttpURLConnection#getPermission()
        */
       public Permission getPermission() throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getPermission()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -330,7 +354,7 @@
        * @see java.net.HttpURLConnection#getContent()
        */
       public Object getContent() throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getContent()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -339,7 +363,7 @@
        * @see java.net.HttpURLConnection#getContent(Class[])
        */
       public Object getContent(Class[] classes) throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getContent(Class[])");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -347,7 +371,7 @@
        * @see java.net.HttpURLConnection#getOutputStream()
        */
       public OutputStream getOutputStream() throws IOException {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getOutputStream()");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -357,7 +381,7 @@
        * @see java.net.HttpURLConnection#setDoInput(boolean)
        */
       public void setDoInput(boolean isInput) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setDoInput()");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -367,7 +391,7 @@
        * @see java.net.HttpURLConnection#getDoInput()
        */
       public boolean getDoInput() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getDoInput()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -376,7 +400,7 @@
        * @see java.net.HttpURLConnection#setDoOutput(boolean)
        */
       public void setDoOutput(boolean isOutput) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setDoOutput()");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -386,7 +410,7 @@
        * @see java.net.HttpURLConnection#getDoOutput()
        */
       public boolean getDoOutput() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getDoOutput()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -395,7 +419,7 @@
        * @see java.net.HttpURLConnection#setAllowUserInteraction(boolean)
        */
       public void setAllowUserInteraction(boolean isAllowInteraction) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setAllowUserInteraction(boolean)");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -405,7 +429,7 @@
        * @see java.net.HttpURLConnection#getAllowUserInteraction()
        */
       public boolean getAllowUserInteraction() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getAllowUserInteraction()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -414,7 +438,7 @@
        * @see java.net.HttpURLConnection#setUseCaches(boolean)
        */
       public void setUseCaches(boolean isUsingCaches) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setUseCaches(boolean)");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -424,7 +448,7 @@
        * @see java.net.HttpURLConnection#getUseCaches()
        */
       public boolean getUseCaches() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getUseCaches()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -433,7 +457,7 @@
        * @see java.net.HttpURLConnection#setIfModifiedSince(long)
        */
       public void setIfModifiedSince(long modificationDate) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setIfModifiedSince(long)");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -443,7 +467,7 @@
        * @see java.net.HttpURLConnection#getIfModifiedSince()
        */
       public long getIfModifiedSince() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getIfmodifiedSince()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -452,7 +476,7 @@
        * @see java.net.HttpURLConnection#getDefaultUseCaches()
        */
       public boolean getDefaultUseCaches() {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getDefaultUseCaches()");
           throw new RuntimeException("Not implemented yet");
       }
   
  @@ -461,7 +485,7 @@
        * @see java.net.HttpURLConnection#setDefaultUseCaches(boolean)
        */
       public void setDefaultUseCaches(boolean isUsingCaches) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setDefaultUseCaches(boolean)");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -471,7 +495,7 @@
        * @see java.net.HttpURLConnection#setRequestProperty(String,String)
        */
       public void setRequestProperty(String key, String value) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.setRequestProperty()");
           throw new RuntimeException("This class can only be used with already"
               + "retrieved data");
       }
  @@ -481,7 +505,7 @@
        * @see java.net.HttpURLConnection#getRequestProperty(String)
        */
       public String getRequestProperty(String key) {
  -        log.trace("enter HttpURLConnection.getInputStream()");
  +        log.trace("enter HttpURLConnection.getRequestProperty()");
           throw new RuntimeException("Not implemented yet");
       }
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>