You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2005/03/30 20:53:04 UTC
svn commit: r159509 - in jakarta/httpclient/trunk/http-common/src:
java/org/apache/http/Header.java test/org/apache/http/TestHeader.java
Author: olegk
Date: Wed Mar 30 10:53:04 2005
New Revision: 159509
URL: http://svn.apache.org/viewcvs?view=rev&rev=159509
Log:
Added static Header#parse method
Modified:
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Header.java
jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHeader.java
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Header.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Header.java?view=diff&r1=159508&r2=159509
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Header.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Header.java Wed Mar 30 10:53:04 2005
@@ -154,4 +154,17 @@
return hash;
}
+ public static Header parse(final String headerLine) throws ProtocolException {
+ if (headerLine == null) {
+ throw new IllegalArgumentException("Header line may not be null");
+ }
+ int colon = headerLine.indexOf(":");
+ if (colon < 0) {
+ throw new ProtocolException("Unable to parse header: " + headerLine);
+ }
+ String name = headerLine.substring(0, colon).trim();
+ String value = headerLine.substring(colon + 1).trim();
+ return new Header(name, value);
+ }
+
}
Modified: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHeader.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHeader.java?view=diff&r1=159508&r2=159509
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHeader.java (original)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHeader.java Wed Mar 30 10:53:04 2005
@@ -106,7 +106,29 @@
assertEquals("element3", elements[2].getName());
assertEquals(null, elements[2].getValue());
assertEquals(1, elements[1].getParameters().length);
-
}
+ public void testHeaderParsing() throws Exception {
+ Header header1 = Header.parse("name:value");
+ assertEquals("name", header1.getName());
+ assertEquals("value", header1.getValue());
+
+ Header header2 = Header.parse(" name : value ");
+ assertEquals("name", header2.getName());
+ assertEquals("value", header2.getValue());
+
+ try {
+ Header header3 = Header.parse(" whatever ");
+ fail("ProtocolException should have been thrown");
+ } catch (ProtocolException ex) {
+ // expected
+ }
+
+ try {
+ Header header3 = Header.parse(null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ }
}