You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/11/19 12:19:50 UTC
svn commit: r596271 - in /mina:
sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/
trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/
Author: trustin
Date: Mon Nov 19 03:19:45 2007
New Revision: 596271
URL: http://svn.apache.org/viewvc?rev=596271&view=rev
Log:
* Removed too trivial constants
* More constant variable utilization
Modified:
mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/HttpProtocolHandler.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecUtils.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderConstants.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecodingState.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseEncoder.java
Modified: mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/HttpProtocolHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/HttpProtocolHandler.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/HttpProtocolHandler.java (original)
+++ mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/HttpProtocolHandler.java Mon Nov 19 03:19:45 2007
@@ -80,8 +80,8 @@
MutableHttpResponse res) {
res.normalize(req);
WriteFuture future = session.write(res);
- if (!HttpHeaderConstants.VALUE_KEEP_ALIVE.equalsIgnoreCase(res
- .getHeader(HttpHeaderConstants.KEY_CONNECTION))) {
+ if (!HttpHeaderConstants.VALUE_KEEP_ALIVE.equalsIgnoreCase(
+ res.getHeader(HttpHeaderConstants.KEY_CONNECTION))) {
future.addListener(IoFutureListener.CLOSE);
}
}
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java Mon Nov 19 03:19:45 2007
@@ -100,15 +100,15 @@
return SKIP_CHUNK_EXTENSION;
}
return AFTER_SKIP_CHUNK_EXTENSION.decode(IoBuffer
- .wrap(new byte[] { HttpCodecUtils.CR }), out);
+ .wrap(new byte[] { '\r' }), out);
}
@Override
protected boolean isTerminator(byte b) {
if (!(b >= '0' && b <= '9' || b >= 'a' && b <= 'f' || b >= 'A'
&& b <= 'F')) {
- if (b == HttpCodecUtils.CR || b == HttpCodecUtils.SEMI_COLON) {
- chunkHasExtension = b == HttpCodecUtils.SEMI_COLON;
+ if (b == '\r' || b == ';') {
+ chunkHasExtension = b == ';';
return true;
}
throw new IllegalArgumentException();
@@ -125,7 +125,7 @@
@Override
protected boolean canSkip(byte b) {
- return b != HttpCodecUtils.CR;
+ return b != '\r';
}
};
@@ -187,7 +187,7 @@
@Override
protected boolean canSkip(byte b) {
- return b != HttpCodecUtils.CR;
+ return b != '\r';
}
@Override
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java Mon Nov 19 03:19:45 2007
@@ -337,9 +337,11 @@
buf.append('&');
}
- buf.append(URLEncoder.encode(e.getKey(), "UTF-8"));
+ buf.append(URLEncoder.encode(
+ e.getKey(), HttpCodecUtils.DEFAULT_CHARSET_NAME));
buf.append('=');
- buf.append(URLEncoder.encode(v, "UTF-8"));
+ buf.append(URLEncoder.encode(
+ v, HttpCodecUtils.DEFAULT_CHARSET_NAME));
first = false;
}
}
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecUtils.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecUtils.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecUtils.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecUtils.java Mon Nov 19 03:19:45 2007
@@ -38,88 +38,18 @@
*/
class HttpCodecUtils {
- public static final String DEFAULT_CHARSET_NAME = "UTF-8";
- public static final Charset DEFAULT_CHARSET =
+ static final String DEFAULT_CHARSET_NAME = "UTF-8";
+ static final Charset DEFAULT_CHARSET =
Charset.forName(DEFAULT_CHARSET_NAME);
- public static final String US_ASCII_CHARSET_NAME = "US-ASCII";
- public static final Charset US_ASCII_CHARSET =
+ static final String US_ASCII_CHARSET_NAME = "US-ASCII";
+ static final Charset US_ASCII_CHARSET =
Charset.forName(US_ASCII_CHARSET_NAME);
- public static final String DEFAULT_TIME_ZONE_NAME = "GMT";
-
- /**
- * Ampersand character
- */
- public static final byte AMP = 38;
-
- /**
- * Colon character
- */
- public static final byte COLON = 58;
-
- /**
- * Carriage return character
- */
- public static final byte CR = 13;
-
- /**
- * Equals character
- */
- public static final byte EQUALS = 61;
-
- /**
- * Line feed character
- */
- public static final byte LF = 10;
-
- /**
- * Space character
- */
- public static final byte SP = 32;
-
- /**
- * Plus character
- */
- public static final byte PLUS = 43;
-
- /**
- * Question mark character
- */
- public static final byte QS = 63;
-
- /**
- * Horizontal tab character
- */
- public static final byte HT = 9;
-
- /**
- * Percent character
- */
- public static final byte PERCENT = 37;
-
- /**
- * Foward-slash character
- */
- public static final byte FOWARD_SLASH = 47;
-
- /**
- * Back-slash character
- */
- public static final byte BACK_SLASH = 92;
-
- /**
- * Quote character
- */
- public static final byte QUOTE = 34;
-
- /**
- * Semi-colon
- */
- public static final byte SEMI_COLON = 59;
+ static final String DEFAULT_TIME_ZONE_NAME = "GMT";
/**
* Bytes making up a <code>CR LF</code>
*/
- private static final byte[] CRLF_BYTES = new byte[] { CR, LF };
+ private static final byte[] CRLF_BYTES = new byte[] { '\r', '\n' };
/**
* A lookup table for HTPP separator characters
@@ -167,7 +97,7 @@
* @return <code>true</code> iff the character is a valid hex
* character
*/
- public static boolean isHex(byte b) {
+ static boolean isHex(byte b) {
return HEX_DEC[b] != -1;
}
@@ -179,7 +109,7 @@
* @return <code>true</code> iff the character is an HTTP field
* separator
*/
- public static boolean isHttpSeparator(byte b) {
+ static boolean isHttpSeparator(byte b) {
return HTTP_SEPARATORS[b];
}
@@ -191,65 +121,17 @@
* @return <code>true</code> iff the character is an HTTP control
* character
*/
- public static boolean isHttpControl(byte b) {
+ static boolean isHttpControl(byte b) {
return HTTP_CONTROLS[b];
}
/**
- * Determines whether a specified (US-ASCII) character is an HTTP
- * whitespace character (Space or Horizontal tab)
- *
- * @param b the US-ASCII character to check
- * @return <code>true</code> iff the character is an HTTP whitespace
- * character
- */
- public static boolean isWhiteSpace(byte b) {
- return b == SP || b == HT;
- }
-
- /**
- * "Pushes back" a byte on to the specified buffer, by rewinding the
- * position by 1 byte
- *
- * @param buffer The buffer to "push back" to
- */
- public static void pushBack(IoBuffer buffer) {
- buffer.position(buffer.position() - 1);
- }
-
- /**
- * Obtains the decimal value for a hex value encoded in ASCII
- *
- * @param b The ASCII encoded byte
- * @return The decimal value - or <code>-1</code> if the specified byte
- * is not a valid ASCII hex character
- */
- public static int hexASCIIToDecimal(byte b) {
- return HEX_DEC[b];
- }
-
- /**
- * Returns the ASCII bytes for a specified string.
- *
- * @param str The string
- * @return The ASCII bytes making up the string
- */
- public static byte[] getASCIIBytes(String str) {
- try {
- return str.getBytes(US_ASCII_CHARSET_NAME);
- } catch (UnsupportedEncodingException e) {
- throw new IllegalStateException("Required charset: "
- + US_ASCII_CHARSET_NAME);
- }
- }
-
- /**
* Throws a {@link HttpRequestDecoderException} with a specified cause.
* This method should be used when the request is badly formed.
*
* @param cause The cause
*/
- public static void throwDecoderException(String cause)
+ static void throwDecoderException(String cause)
throws ProtocolDecoderException {
throwDecoderException(cause, HttpResponseStatus.BAD_REQUEST);
}
@@ -261,7 +143,7 @@
* @param message The cause
* @param status The response status
*/
- public static void throwDecoderException(String message,
+ static void throwDecoderException(String message,
HttpResponseStatus status) throws ProtocolDecoderException {
if (!(status.getCategory() == Category.CLIENT_ERROR || status
.getCategory() == Category.SERVER_ERROR)) {
@@ -286,7 +168,7 @@
* @param buffer The buffer to append to
* @param string The string to append
*/
- public static void appendString(IoBuffer buffer, String string) {
+ static void appendString(IoBuffer buffer, String string) {
if (string == null) {
return;
}
@@ -294,8 +176,8 @@
for (int i = 0; i < len; i++) {
byte b = (byte) string.charAt(i);
- if (isHttpControl(b) && b != HT) {
- b = SP;
+ if (isHttpControl(b) && b != '\t') {
+ b = ' ';
}
buffer.put(b);
}
@@ -306,7 +188,7 @@
*
* @param buffer The buffer
*/
- public static void appendCRLF(IoBuffer buffer) {
+ static void appendCRLF(IoBuffer buffer) {
buffer.put(CRLF_BYTES);
}
@@ -318,7 +200,7 @@
* @param message The response whose headers are to be encoded
* @param buffer The buffer
*/
- public static void encodeHeaders(
+ static void encodeHeaders(
HttpMessage message, IoBuffer buffer, CharsetEncoder encoder) throws CharacterCodingException {
try {
@@ -350,7 +232,7 @@
* @param message The response
* @param buffer The buffer to write to
*/
- public static void encodeBody(HttpMessage message, IoBuffer buffer) {
+ static void encodeBody(HttpMessage message, IoBuffer buffer) {
IoBuffer content = (IoBuffer) message.getContent();
buffer.put(content);
}
@@ -374,7 +256,6 @@
HTTP_SEPARATORS[92] = true; // \
HTTP_SEPARATORS[123] = true; // {
HTTP_SEPARATORS[125] = true; // }
- // TODO: SP, HT
// HTTP Control characters
for (int i = 0; i <= 31; ++i) {
@@ -383,5 +264,4 @@
HTTP_CONTROLS[127] = true; // DEL
}
-
}
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderConstants.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderConstants.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderConstants.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderConstants.java Mon Nov 19 03:19:45 2007
@@ -109,13 +109,6 @@
*/
public static final String KEY_HOST = "Host";
- /**
- * An extension character that splits header values (e.g.
- * transfer-encoding and cookie).
- */
- public static final char EXTENSION_CHAR = ';';
-
-
private HttpHeaderConstants() {
}
}
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecodingState.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecodingState.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecodingState.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecodingState.java Mon Nov 19 03:19:45 2007
@@ -232,8 +232,7 @@
}
if (coding != null) {
- int extensionIndex = coding.indexOf(
- HttpHeaderConstants.EXTENSION_CHAR);
+ int extensionIndex = coding.indexOf(';');
if (extensionIndex != -1) {
coding = coding.substring(0, extensionIndex);
}
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseEncoder.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseEncoder.java?rev=596271&r1=596270&r2=596271&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseEncoder.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseEncoder.java Mon Nov 19 03:19:45 2007
@@ -71,13 +71,13 @@
// Write protocol version.
buffer.putString(
response.getProtocolVersion().toString(), asciiEncoder);
- buffer.put(HttpCodecUtils.SP);
+ buffer.put((byte) ' ');
// Write status code.
HttpResponseStatus status = response.getStatus();
// TODO: Cached buffers for response codes / descriptions?
HttpCodecUtils.appendString(buffer, String.valueOf(status.getCode()));
- buffer.put(HttpCodecUtils.SP);
+ buffer.put((byte) ' ');
// Write reason phrase.
HttpCodecUtils.appendString(buffer, response.getStatusReasonPhrase());