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 04:41:35 UTC
svn commit: r596187 [1/3] - in /mina: sandbox/asyncweb/
sandbox/asyncweb/core/
sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/
sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/
sandbox/asyncweb/core/src/main/java/org/sa...
Author: trustin
Date: Sun Nov 18 19:41:14 2007
New Revision: 596187
URL: http://svn.apache.org/viewvc?rev=596187&view=rev
Log:
* Moved AsyncWeb HTTP codec to mina-filter-codec-http
* Rewrote the existing HTTP client codec
* ProtocolCodecFactory.getEncoder/getDecoder() now are provided with an IoSession parameter.
Added:
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/ChunkedBodyDecodingState.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/CookieComparator.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/CookieComparator.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultCookie.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultCookie.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpMessage.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpMessage.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpRequest.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpResponse.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpResponse.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecFactory.java
- copied, changed from r596159, mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpProtocolCodecFactory.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecUtils.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/HttpCodecUtils.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpDateFormat.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/util/HttpDateFormat.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderConstants.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/util/HttpHeaderConstants.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderDecodingState.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/HttpHeaderDecodingState.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpHeaderNameComparator.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpMessage.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/HttpMessage.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpMethod.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/HttpMethod.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequest.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/HttpRequest.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecoder.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecoderException.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestDecodingState.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/HttpRequestDecodingState.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestLineDecodingState.java
- copied, changed from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/HttpRequestLineDecodingState.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponse.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/HttpResponse.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseDecodingState.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseEncoder.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseLineDecodingState.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseStatus.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/HttpResponseStatus.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpVersion.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/HttpVersion.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpVersionDecodingState.java (with props)
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/MutableCookie.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/MutableCookie.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/MutableHttpMessage.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/MutableHttpMessage.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/MutableHttpRequest.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/MutableHttpRequest.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/MutableHttpResponse.java
- copied, changed from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/MutableHttpResponse.java
Removed:
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/util/HttpDateFormat.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/util/HttpHeaderConstants.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/AsyncHttpClientException.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DateParseException.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DateUtil.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/EncodingUtil.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpDecoder.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpProtocolCodecFactory.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestMessage.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseMessage.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/LangUtils.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/NameValuePair.java
Modified:
mina/sandbox/asyncweb/core/pom.xml
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceContext.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceHandler.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/AbstractHttpServiceContext.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/BasicKeepAliveStrategy.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/CounterKeepAliveStrategy.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/KeepAliveStrategy.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/ErrorResponseFormatter.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/StandardResponseFormatter.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/pipeline/StandardRequestPipeline.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/CompositeResolver.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ExactMatchURIServiceResolver.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/FixedServiceResolver.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/PassThruResolver.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ServiceResolver.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/SimplePrefixResolver.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/CookieIdentifier.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/DefaultSessionAccessor.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionAccessor.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionIdentifier.java
mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/transport/mina/SingleHttpSessionIoHandler.java
mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/common/DefaultHttpRequestTest.java
mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/DummyResolver.java
mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/ExactMatchURIServiceResolverTest.java
mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/SimplePrefixResolverTest.java
mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/cookie/CookieExample.java
mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/helloworld/HelloWorldHttpService.java
mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/HttpProtocolHandler.java
mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/Main.java
mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/session/SessionExample.java
mina/sandbox/asyncweb/pom.xml
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFactory.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/demux/DemuxingProtocolCodecFactory.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MdcInjectionFilterTest.java
mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/Main.java
mina/trunk/example/src/main/java/org/apache/mina/example/httpclient/Wget.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/Cookie.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpRequestEncoder.java
mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpResponseDecoder.java
mina/trunk/filter-codec-netty/src/main/java/org/apache/mina/filter/codec/netty/NettyCodecFactory.java
mina/trunk/protocol-http-client/src/main/java/org/apache/mina/protocol/http/client/AsyncHttpClient.java
mina/trunk/protocol-http-client/src/main/java/org/apache/mina/protocol/http/client/AsyncHttpClientCallback.java
mina/trunk/protocol-http-client/src/main/java/org/apache/mina/protocol/http/client/HttpIoHandler.java
mina/trunk/protocol-http-client/src/test/java/org/apache/mina/protocol/http/client/AsyncHttpClientTest.java
mina/trunk/protocol-http-client/src/test/java/org/apache/mina/protocol/http/client/ChunkedTest.java
Modified: mina/sandbox/asyncweb/core/pom.xml
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/pom.xml?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/pom.xml (original)
+++ mina/sandbox/asyncweb/core/pom.xml Sun Nov 18 19:41:14 2007
@@ -40,5 +40,10 @@
<artifactId>mina-core</artifactId>
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.mina</groupId>
+ <artifactId>mina-filter-codec-http</artifactId>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
</project>
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceContext.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceContext.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceContext.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceContext.java Sun Nov 18 19:41:14 2007
@@ -21,9 +21,9 @@
import java.net.InetSocketAddress;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponse;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
/**
* Provides conversational context between a HTTP client and a {@link HttpService}.
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceHandler.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceHandler.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/HttpServiceHandler.java Sun Nov 18 19:41:14 2007
@@ -24,10 +24,10 @@
import java.util.Map.Entry;
import org.apache.mina.common.IoFilter;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.resolver.ServiceResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/AbstractHttpServiceContext.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/AbstractHttpServiceContext.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/AbstractHttpServiceContext.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/AbstractHttpServiceContext.java Sun Nov 18 19:41:14 2007
@@ -21,15 +21,15 @@
import java.net.InetSocketAddress;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponse;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.HttpHeaderConstants;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.safehaus.asyncweb.service.HttpSession;
import org.safehaus.asyncweb.service.ServiceContainer;
-import org.safehaus.asyncweb.util.HttpHeaderConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/BasicKeepAliveStrategy.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/BasicKeepAliveStrategy.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/BasicKeepAliveStrategy.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/BasicKeepAliveStrategy.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.context;
-import org.safehaus.asyncweb.common.HttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/CounterKeepAliveStrategy.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/CounterKeepAliveStrategy.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/CounterKeepAliveStrategy.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/CounterKeepAliveStrategy.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.context;
-import org.safehaus.asyncweb.common.HttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
public class CounterKeepAliveStrategy extends BasicKeepAliveStrategy {
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/KeepAliveStrategy.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/KeepAliveStrategy.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/KeepAliveStrategy.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/context/KeepAliveStrategy.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.context;
-import org.safehaus.asyncweb.common.HttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
/**
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/ErrorResponseFormatter.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/ErrorResponseFormatter.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/ErrorResponseFormatter.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/ErrorResponseFormatter.java Sun Nov 18 19:41:14 2007
@@ -19,8 +19,8 @@
*/
package org.safehaus.asyncweb.service.errorReporting;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
/**
* Formats error responses to include a descriptive body where appropriate
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/StandardResponseFormatter.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/StandardResponseFormatter.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/StandardResponseFormatter.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/errorReporting/StandardResponseFormatter.java Sun Nov 18 19:41:14 2007
@@ -22,11 +22,10 @@
import java.io.UnsupportedEncodingException;
import org.apache.mina.common.IoBuffer;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
-import org.safehaus.asyncweb.common.HttpResponseStatus.Category;
-import org.safehaus.asyncweb.common.content.ByteBufferContent;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponseStatus.Category;
import org.safehaus.asyncweb.util.StringBundle;
public class StandardResponseFormatter implements ErrorResponseFormatter {
@@ -43,8 +42,7 @@
private boolean shouldFormat(MutableHttpResponse response) {
boolean shouldFormat = false;
- // FIXME Should be able to handler other content types.
- if (!(response.getContent() instanceof ByteBufferContent)) {
+ if (!response.getContent().hasRemaining()) {
HttpResponseStatus status = response.getStatus();
HttpResponseStatus.Category category = response.getStatus()
.getCategory();
@@ -93,7 +91,7 @@
}
out.flip();
- response.setContent(new ByteBufferContent(out));
+ response.setContent(out);
}
private void appendInfo(String title, String info, StringBuilder html) {
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/pipeline/StandardRequestPipeline.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/pipeline/StandardRequestPipeline.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/pipeline/StandardRequestPipeline.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/pipeline/StandardRequestPipeline.java Sun Nov 18 19:41:14 2007
@@ -23,7 +23,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
-import org.safehaus.asyncweb.common.HttpResponse;
+import org.apache.mina.filter.codec.http.HttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/CompositeResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/CompositeResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/CompositeResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/CompositeResolver.java Sun Nov 18 19:41:14 2007
@@ -22,7 +22,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ExactMatchURIServiceResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ExactMatchURIServiceResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ExactMatchURIServiceResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ExactMatchURIServiceResolver.java Sun Nov 18 19:41:14 2007
@@ -23,7 +23,7 @@
import java.util.Map;
import java.util.Map.Entry;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/FixedServiceResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/FixedServiceResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/FixedServiceResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/FixedServiceResolver.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.resolver;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
/**
* @author Dan Diephouse
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/PassThruResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/PassThruResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/PassThruResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/PassThruResolver.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.resolver;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
/**
* A simple <code>ServiceResolver</code> which passes the full
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ServiceResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ServiceResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ServiceResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/ServiceResolver.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.resolver;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
/**
* Resolves the name of the <code>HttpService</code> to be used to
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/SimplePrefixResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/SimplePrefixResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/SimplePrefixResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/resolver/SimplePrefixResolver.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.resolver;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/CookieIdentifier.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/CookieIdentifier.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/CookieIdentifier.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/CookieIdentifier.java Sun Nov 18 19:41:14 2007
@@ -19,11 +19,11 @@
*/
package org.safehaus.asyncweb.service.session;
-import org.safehaus.asyncweb.common.Cookie;
-import org.safehaus.asyncweb.common.DefaultCookie;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.MutableCookie;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.Cookie;
+import org.apache.mina.filter.codec.http.DefaultCookie;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.MutableCookie;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
/**
* A <code>SessionIdentifier</code> which adds and extracts session key
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/DefaultSessionAccessor.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/DefaultSessionAccessor.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/DefaultSessionAccessor.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/DefaultSessionAccessor.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.session;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.safehaus.asyncweb.service.HttpSession;
import org.slf4j.Logger;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionAccessor.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionAccessor.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionAccessor.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionAccessor.java Sun Nov 18 19:41:14 2007
@@ -19,7 +19,7 @@
*/
package org.safehaus.asyncweb.service.session;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.safehaus.asyncweb.service.HttpSession;
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionIdentifier.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionIdentifier.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionIdentifier.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/session/HttpSessionIdentifier.java Sun Nov 18 19:41:14 2007
@@ -19,8 +19,8 @@
*/
package org.safehaus.asyncweb.service.session;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
/**
* A strategy for encoding / decoding session keys information to / from
Modified: mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/transport/mina/SingleHttpSessionIoHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/transport/mina/SingleHttpSessionIoHandler.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/transport/mina/SingleHttpSessionIoHandler.java (original)
+++ mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/service/transport/mina/SingleHttpSessionIoHandler.java Sun Nov 18 19:41:14 2007
@@ -31,15 +31,15 @@
import org.apache.mina.common.WriteRequest;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.ProtocolDecoderException;
+import org.apache.mina.filter.codec.http.DefaultHttpRequest;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.HttpCodecFactory;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequestDecoderException;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.HttpVersion;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.apache.mina.handler.multiton.SingleSessionIoHandler;
-import org.safehaus.asyncweb.codec.HttpServerCodecFactory;
-import org.safehaus.asyncweb.codec.decoder.HttpDecoderException;
-import org.safehaus.asyncweb.common.DefaultHttpRequest;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
-import org.safehaus.asyncweb.common.HttpVersion;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.safehaus.asyncweb.service.HttpServiceFilter;
import org.safehaus.asyncweb.service.ServiceContainer;
@@ -87,7 +87,7 @@
session.getConfig().setIdleTime(IdleStatus.READER_IDLE, readIdleTime);
session.getFilterChain().addLast("codec",
- new ProtocolCodecFilter(new HttpServerCodecFactory()));
+ new ProtocolCodecFilter(new HttpCodecFactory()));
session.getFilterChain().addLast("converter", new ContextConverter());
@@ -141,8 +141,8 @@
MutableHttpResponse response = null;
if (cause instanceof ProtocolDecoderException) {
HttpResponseStatus status;
- if (cause instanceof HttpDecoderException) {
- status = ((HttpDecoderException) cause).getResponseStatus();
+ if (cause instanceof HttpRequestDecoderException) {
+ status = ((HttpRequestDecoderException) cause).getResponseStatus();
} else {
status = HttpResponseStatus.BAD_REQUEST;
}
Modified: mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/common/DefaultHttpRequestTest.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/common/DefaultHttpRequestTest.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/common/DefaultHttpRequestTest.java (original)
+++ mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/common/DefaultHttpRequestTest.java Sun Nov 18 19:41:14 2007
@@ -22,6 +22,8 @@
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.mina.filter.codec.http.DefaultHttpRequest;
+
public class DefaultHttpRequestTest extends TestCase {
public void testSetParametersFromQueryString() throws Exception {
DefaultHttpRequest req = new DefaultHttpRequest();
Modified: mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/DummyResolver.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/DummyResolver.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/DummyResolver.java (original)
+++ mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/DummyResolver.java Sun Nov 18 19:41:14 2007
@@ -22,7 +22,7 @@
import java.util.HashMap;
import java.util.Map;
-import org.safehaus.asyncweb.common.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
import org.safehaus.asyncweb.service.resolver.ServiceResolver;
/**
Modified: mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/ExactMatchURIServiceResolverTest.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/ExactMatchURIServiceResolverTest.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/ExactMatchURIServiceResolverTest.java (original)
+++ mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/ExactMatchURIServiceResolverTest.java Sun Nov 18 19:41:14 2007
@@ -24,9 +24,9 @@
import junit.framework.TestCase;
-import org.safehaus.asyncweb.common.DefaultHttpRequest;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.MutableHttpRequest;
+import org.apache.mina.filter.codec.http.DefaultHttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.MutableHttpRequest;
import org.safehaus.asyncweb.service.resolver.ExactMatchURIServiceResolver;
/**
Modified: mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/SimplePrefixResolverTest.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/SimplePrefixResolverTest.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/SimplePrefixResolverTest.java (original)
+++ mina/sandbox/asyncweb/core/src/test/java/org/safehaus/asyncweb/service/filter/resolver/SimplePrefixResolverTest.java Sun Nov 18 19:41:14 2007
@@ -24,9 +24,9 @@
import junit.framework.TestCase;
-import org.safehaus.asyncweb.common.DefaultHttpRequest;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.MutableHttpRequest;
+import org.apache.mina.filter.codec.http.DefaultHttpRequest;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.MutableHttpRequest;
import org.safehaus.asyncweb.service.resolver.SimplePrefixResolver;
/**
Modified: mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/cookie/CookieExample.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/cookie/CookieExample.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/cookie/CookieExample.java (original)
+++ mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/cookie/CookieExample.java Sun Nov 18 19:41:14 2007
@@ -24,12 +24,11 @@
import java.nio.charset.Charset;
import org.apache.mina.common.IoBuffer;
-import org.safehaus.asyncweb.common.DefaultCookie;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.MutableCookie;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
-import org.safehaus.asyncweb.common.content.ByteBufferContent;
+import org.apache.mina.filter.codec.http.DefaultCookie;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.MutableCookie;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpService;
import org.safehaus.asyncweb.service.HttpServiceContext;
@@ -63,7 +62,7 @@
bb.setAutoExpand(true);
bb.putString(buf.toString(), Charset.forName("UTF-8").newEncoder());
bb.flip();
- response.setContent(new ByteBufferContent(bb));
+ response.setContent(bb);
context.commitResponse(response);
}
Modified: mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/helloworld/HelloWorldHttpService.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/helloworld/HelloWorldHttpService.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/helloworld/HelloWorldHttpService.java (original)
+++ mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/helloworld/HelloWorldHttpService.java Sun Nov 18 19:41:14 2007
@@ -28,12 +28,11 @@
import java.util.Map;
import org.apache.mina.common.IoBuffer;
-import org.safehaus.asyncweb.common.Cookie;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
-import org.safehaus.asyncweb.common.content.ByteBufferContent;
+import org.apache.mina.filter.codec.http.Cookie;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpService;
import org.safehaus.asyncweb.service.HttpServiceContext;
@@ -71,7 +70,7 @@
bb.setAutoExpand(true);
bb.putString(buf.toString(), Charset.forName("UTF-8").newEncoder());
bb.flip();
- response.setContent(new ByteBufferContent(bb));
+ response.setContent(bb);
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
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=596187&r1=596186&r2=596187&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 Sun Nov 18 19:41:14 2007
@@ -32,12 +32,11 @@
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionLogger;
import org.apache.mina.common.WriteFuture;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.HttpRequest;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
-import org.safehaus.asyncweb.common.content.ByteBufferContent;
-import org.safehaus.asyncweb.util.HttpHeaderConstants;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.HttpHeaderConstants;
+import org.apache.mina.filter.codec.http.HttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponseStatus;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
public class HttpProtocolHandler implements IoHandler {
private static final int CONTENT_PADDING = 0; // 101
@@ -103,7 +102,7 @@
buffers.put(size, buf);
}
- res.setContent(new ByteBufferContent(buf.duplicate()));
+ res.setContent(buf.duplicate());
writeResponse(session, req, res);
}
Modified: mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/Main.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/Main.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/Main.java (original)
+++ mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/lightweight/Main.java Sun Nov 18 19:41:14 2007
@@ -22,16 +22,16 @@
import java.net.InetSocketAddress;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.http.HttpCodecFactory;
import org.apache.mina.transport.socket.SocketAcceptor;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-import org.safehaus.asyncweb.codec.HttpServerCodecFactory;
public class Main {
public static void main(String[] args) throws Exception {
SocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.getFilterChain().addLast("codec",
- new ProtocolCodecFilter(new HttpServerCodecFactory()));
+ new ProtocolCodecFilter(new HttpCodecFactory()));
acceptor.setReuseAddress(true);
acceptor.getSessionConfig().setReuseAddress(true);
Modified: mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/session/SessionExample.java
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/session/SessionExample.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/session/SessionExample.java (original)
+++ mina/sandbox/asyncweb/example/src/main/java/org/safehaus/asyncweb/example/session/SessionExample.java Sun Nov 18 19:41:14 2007
@@ -24,9 +24,8 @@
import java.nio.charset.Charset;
import org.apache.mina.common.IoBuffer;
-import org.safehaus.asyncweb.common.DefaultHttpResponse;
-import org.safehaus.asyncweb.common.MutableHttpResponse;
-import org.safehaus.asyncweb.common.content.ByteBufferContent;
+import org.apache.mina.filter.codec.http.DefaultHttpResponse;
+import org.apache.mina.filter.codec.http.MutableHttpResponse;
import org.safehaus.asyncweb.service.HttpService;
import org.safehaus.asyncweb.service.HttpServiceContext;
import org.safehaus.asyncweb.service.HttpSession;
@@ -66,7 +65,7 @@
bb.setAutoExpand(true);
bb.putString(buf.toString(), Charset.forName("UTF-8").newEncoder());
bb.flip();
- response.setContent(new ByteBufferContent(bb));
+ response.setContent(bb);
context.commitResponse(response);
}
Modified: mina/sandbox/asyncweb/pom.xml
URL: http://svn.apache.org/viewvc/mina/sandbox/asyncweb/pom.xml?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/pom.xml (original)
+++ mina/sandbox/asyncweb/pom.xml Sun Nov 18 19:41:14 2007
@@ -143,6 +143,11 @@
<artifactId>mina-core</artifactId>
<version>2.0.0-M1-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.mina</groupId>
+ <artifactId>mina-filter-codec-http</artifactId>
+ <version>2.0.0-M1-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFactory.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFactory.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFactory.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFactory.java Sun Nov 18 19:41:14 2007
@@ -19,6 +19,8 @@
*/
package org.apache.mina.filter.codec;
+import org.apache.mina.common.IoSession;
+
/**
* Provides {@link ProtocolEncoder} and {@link ProtocolDecoder} which translates
* binary or protocol specific data into message object and vice versa.
@@ -34,12 +36,14 @@
/**
* Returns a new (or reusable) instance of {@link ProtocolEncoder} which
* encodes message objects into binary or protocol-specific data.
+ * @param session TODO
*/
- ProtocolEncoder getEncoder() throws Exception;
+ ProtocolEncoder getEncoder(IoSession session) throws Exception;
/**
* Returns a new (or reusable) instance of {@link ProtocolDecoder} which
* decodes binary or protocol-specific data into message objects.
+ * @param session TODO
*/
- ProtocolDecoder getDecoder() throws Exception;
+ ProtocolDecoder getDecoder(IoSession session) throws Exception;
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Sun Nov 18 19:41:14 2007
@@ -71,11 +71,11 @@
}
this.factory = new ProtocolCodecFactory() {
- public ProtocolEncoder getEncoder() {
+ public ProtocolEncoder getEncoder(IoSession session) {
return encoder;
}
- public ProtocolDecoder getDecoder() {
+ public ProtocolDecoder getDecoder(IoSession session) {
return decoder;
}
};
@@ -112,11 +112,11 @@
}
this.factory = new ProtocolCodecFactory() {
- public ProtocolEncoder getEncoder() throws Exception {
+ public ProtocolEncoder getEncoder(IoSession session) throws Exception {
return encoderClass.newInstance();
}
- public ProtocolDecoder getDecoder() throws Exception {
+ public ProtocolDecoder getDecoder(IoSession session) throws Exception {
return decoderClass.newInstance();
}
};
@@ -269,7 +269,7 @@
ProtocolEncoder encoder = (ProtocolEncoder) session
.getAttribute(ENCODER);
if (encoder == null) {
- encoder = factory.getEncoder();
+ encoder = factory.getEncoder(session);
session.setAttribute(ENCODER, encoder);
}
return encoder;
@@ -284,7 +284,7 @@
ProtocolDecoder decoder = (ProtocolDecoder) session
.getAttribute(DECODER);
if (decoder == null) {
- decoder = factory.getDecoder();
+ decoder = factory.getDecoder(session);
session.setAttribute(DECODER, decoder);
}
return decoder;
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/demux/DemuxingProtocolCodecFactory.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/demux/DemuxingProtocolCodecFactory.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/demux/DemuxingProtocolCodecFactory.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/demux/DemuxingProtocolCodecFactory.java Sun Nov 18 19:41:14 2007
@@ -19,6 +19,7 @@
*/
package org.apache.mina.filter.codec.demux;
+import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFactory;
import org.apache.mina.filter.codec.ProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolEncoder;
@@ -42,11 +43,11 @@
public DemuxingProtocolCodecFactory() {
}
- public ProtocolEncoder getEncoder() throws Exception {
+ public ProtocolEncoder getEncoder(IoSession session) throws Exception {
return encoder;
}
- public ProtocolDecoder getDecoder() throws Exception {
+ public ProtocolDecoder getDecoder(IoSession session) throws Exception {
return decoder;
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java Sun Nov 18 19:41:14 2007
@@ -20,6 +20,7 @@
package org.apache.mina.filter.codec.serialization;
import org.apache.mina.common.BufferDataException;
+import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFactory;
import org.apache.mina.filter.codec.ProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolEncoder;
@@ -53,11 +54,11 @@
decoder = new ObjectSerializationDecoder(classLoader);
}
- public ProtocolEncoder getEncoder() {
+ public ProtocolEncoder getEncoder(IoSession session) {
return encoder;
}
- public ProtocolDecoder getDecoder() {
+ public ProtocolDecoder getDecoder(IoSession session) {
return decoder;
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java Sun Nov 18 19:41:14 2007
@@ -22,6 +22,7 @@
import java.nio.charset.Charset;
import org.apache.mina.common.BufferDataException;
+import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFactory;
import org.apache.mina.filter.codec.ProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolEncoder;
@@ -93,11 +94,11 @@
decoder = new TextLineDecoder(charset, decodingDelimiter);
}
- public ProtocolEncoder getEncoder() {
+ public ProtocolEncoder getEncoder(IoSession session) {
return encoder;
}
- public ProtocolDecoder getDecoder() {
+ public ProtocolDecoder getDecoder(IoSession session) {
return decoder;
}
Modified: mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MdcInjectionFilterTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MdcInjectionFilterTest.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MdcInjectionFilterTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/filter/logging/MdcInjectionFilterTest.java Sun Nov 18 19:41:14 2007
@@ -332,7 +332,7 @@
private static class DummyProtocolCodecFactory implements ProtocolCodecFactory {
- public ProtocolEncoder getEncoder() throws Exception {
+ public ProtocolEncoder getEncoder(IoSession session) throws Exception {
return new ProtocolEncoderAdapter() {
public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
logger.info("encode");
@@ -342,7 +342,7 @@
};
}
- public ProtocolDecoder getDecoder() throws Exception {
+ public ProtocolDecoder getDecoder(IoSession session) throws Exception {
return new ProtocolDecoderAdapter() {
public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
if (in.remaining() >= 4) {
Modified: mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/Main.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/Main.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/Main.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/Main.java Sun Nov 18 19:41:14 2007
@@ -50,14 +50,17 @@
addSSLSupport(chain);
}
- addLogger(chain);
-
// Bind
acceptor.setLocalAddress(new InetSocketAddress(PORT));
acceptor.setHandler(new EchoProtocolHandler());
acceptor.bind();
System.out.println("Listening on port " + PORT);
+
+ for (;;) {
+ System.out.println("R: " + acceptor.getReadBytesThroughput() + ", W: " + acceptor.getWrittenBytesThroughput());
+ Thread.sleep(3000);
+ }
}
private static void addSSLSupport(DefaultIoFilterChainBuilder chain)
Modified: mina/trunk/example/src/main/java/org/apache/mina/example/httpclient/Wget.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/httpclient/Wget.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/httpclient/Wget.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/httpclient/Wget.java Sun Nov 18 19:41:14 2007
@@ -20,10 +20,12 @@
package org.apache.mina.example.httpclient;
+import java.net.URI;
import java.net.URL;
-import org.apache.mina.filter.codec.http.HttpRequestMessage;
-import org.apache.mina.filter.codec.http.HttpResponseMessage;
+import org.apache.mina.filter.codec.http.DefaultHttpRequest;
+import org.apache.mina.filter.codec.http.HttpResponse;
+import org.apache.mina.filter.codec.http.MutableHttpRequest;
import org.apache.mina.protocol.http.client.AsyncHttpClient;
import org.apache.mina.protocol.http.client.AsyncHttpClientCallback;
@@ -59,7 +61,8 @@
path = url.getPath();
}
- HttpRequestMessage request = new HttpRequestMessage(path);
+ MutableHttpRequest request = new DefaultHttpRequest();
+ request.setRequestUri(new URI(path));
AsyncHttpClient ahc = new AsyncHttpClient(url, callback);
ahc.connect();
ahc.sendRequest(request);
@@ -72,8 +75,8 @@
throw new Exception(callback.getThrowable());
}
- HttpResponseMessage msg = callback.getMessage();
- System.out.println(msg.getStringContent());
+ HttpResponse msg = callback.getMessage();
+ System.out.println(msg.getContent());
}
class WgetCallback implements AsyncHttpClientCallback {
@@ -84,7 +87,7 @@
private Throwable throwable = null;
- private HttpResponseMessage message = null;
+ private HttpResponse message = null;
public WgetCallback() {
clear();
@@ -93,9 +96,9 @@
/**
* What to do when a response has come from the server
*
- * @see org.apache.mina.protocol.http.client.AsyncHttpClientCallback#onResponse(org.apache.mina.filter.codec.http.HttpResponseMessage)
+ * @see org.apache.mina.protocol.http.client.AsyncHttpClientCallback#onResponse(HttpResponse)
*/
- public void onResponse(HttpResponseMessage message) {
+ public void onResponse(HttpResponse message) {
this.message = message;
synchronized (semaphore) {
semaphore.notify();
@@ -105,7 +108,7 @@
/**
* What to do when an exception has been thrown
*
- * @see org.apache.mina.protocol.http.client.AsyncHttpClientCallback#onException(java.lang.Throwable)
+ * @see org.apache.mina.protocol.http.client.AsyncHttpClientCallback#onException(Throwable)
*/
public void onException(Throwable cause) {
throwable = cause;
@@ -164,11 +167,11 @@
this.exception = exception;
}
- public HttpResponseMessage getMessage() {
+ public HttpResponse getMessage() {
return message;
}
- public void setMessage(HttpResponseMessage message) {
+ public void setMessage(HttpResponse message) {
this.message = message;
}
}
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java (from r596084, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/ChunkedBodyDecodingState.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java&p1=mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/ChunkedBodyDecodingState.java&r1=596084&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/codec/decoder/ChunkedBodyDecodingState.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/ChunkedBodyDecodingState.java Sun Nov 18 19:41:14 2007
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.safehaus.asyncweb.codec.decoder;
+package org.apache.mina.filter.codec.http;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
@@ -30,8 +30,6 @@
import org.apache.mina.filter.codec.statemachine.DecodingStateMachine;
import org.apache.mina.filter.codec.statemachine.FixedLengthDecodingState;
import org.apache.mina.filter.codec.statemachine.SkippingState;
-import org.safehaus.asyncweb.codec.HttpCodecUtils;
-import org.safehaus.asyncweb.common.HttpResponseStatus;
/**
* A decoder which decodes the body of HTTP Requests having
Modified: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/Cookie.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/Cookie.java?rev=596187&r1=596186&r2=596187&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/Cookie.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/Cookie.java Sun Nov 18 19:41:14 2007
@@ -1,116 +1,84 @@
/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*
*/
package org.apache.mina.filter.codec.http;
-import java.util.Date;
+import java.io.Serializable;
/**
- * TODO Cookie.
+ * An HTTP cookie.
*
- * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
- * @version $Rev$, $Date$
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev: 592337 $, $Date: 2007-11-06 17:59:36 +0900 (í, 06 11ì 2007) $
*/
-public class Cookie {
+public interface Cookie extends Serializable, Comparable<Cookie> {
- private String comment;
-
- private String domain;
-
- private String name;
-
- private String value;
-
- private String path;
-
- private boolean secure;
-
- private int version = 0;
-
- private Date expires;
-
- public Cookie(String name, String value) {
- this.name = name;
- this.value = value;
- }
-
- public String getComment() {
- return comment;
- }
-
- public void setComment(String comment) {
- this.comment = comment;
- }
-
- public String getDomain() {
- return domain;
- }
-
- public void setDomain(String domain) {
- this.domain = domain;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- public String getPath() {
- return path;
- }
-
- public void setPath(String path) {
- this.path = path;
- }
-
- public boolean isSecure() {
- return secure;
- }
-
- public void setSecure(boolean secure) {
- this.secure = secure;
- }
-
- public int getVersion() {
- return version;
- }
-
- public void setVersion(int version) {
- this.version = version;
- }
-
- public Date getExpires() {
- return expires;
- }
-
- public void setExpires(Date expires) {
- this.expires = expires;
- }
+ /**
+ * Returns the cookie version number. The default (if not specified) is 0
+ *
+ * @return The version number
+ */
+ int getVersion();
+
+ /**
+ * Returns the name of this cookie
+ *
+ * @return The cookie name
+ */
+ String getName();
+
+ /**
+ * Returns the value of this cookie
+ *
+ * @return The cookie value - or <code>null</code> if this cookie does not have
+ * a value
+ */
+ String getValue();
+
+ /**
+ * Returns the domain of this cookie.
+ */
+ String getDomain();
+
+ /**
+ * Returns the path on the server to which the client returns this cookie.
+ *
+ * @return The path
+ */
+ String getPath();
+
+ /**
+ * Returns if this cookie is marked as "secure".
+ * Secure cookies should be sent back by a client over a transport as least as
+ * secure as that upon which they were received
+ */
+ boolean isSecure();
+
+ /**
+ * Returns the maximum age of this cookie in seconds.
+ */
+ int getMaxAge();
+
+ /**
+ * Returns the comment of this cookie. Comments are not supported by version 0 cookies.
+ *
+ * @return <tt>null</tt> if no comment is specified
+ */
+ String getComment();
}
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/CookieComparator.java (from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/CookieComparator.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/CookieComparator.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/CookieComparator.java&p1=mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/CookieComparator.java&r1=596083&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/CookieComparator.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/CookieComparator.java Sun Nov 18 19:41:14 2007
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.safehaus.asyncweb.common;
+package org.apache.mina.filter.codec.http;
import java.io.Serializable;
import java.util.Comparator;
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultCookie.java (from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultCookie.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultCookie.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultCookie.java&p1=mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultCookie.java&r1=596083&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultCookie.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultCookie.java Sun Nov 18 19:41:14 2007
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.safehaus.asyncweb.common;
+package org.apache.mina.filter.codec.http;
/**
* Default cookie implementation.
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpMessage.java (from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpMessage.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpMessage.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpMessage.java&p1=mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpMessage.java&r1=596083&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpMessage.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpMessage.java Sun Nov 18 19:41:14 2007
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.safehaus.asyncweb.common;
+package org.apache.mina.filter.codec.http;
import java.util.ArrayList;
import java.util.Collection;
@@ -28,9 +28,7 @@
import java.util.TreeMap;
import java.util.TreeSet;
-import org.safehaus.asyncweb.codec.HttpCodecUtils;
-import org.safehaus.asyncweb.common.content.EmptyContent;
-import org.safehaus.asyncweb.util.HttpHeaderConstants;
+import org.apache.mina.common.IoBuffer;
/**
* A default implementation of {@link MutableHttpMessage}.
@@ -45,12 +43,12 @@
private HttpVersion protocolVersion = HttpVersion.HTTP_1_1;
private final Map<String, List<String>> headers = new TreeMap<String, List<String>>(
- HeaderNameComparator.INSTANCE);
+ HttpHeaderNameComparator.INSTANCE);
private final Set<Cookie> cookies = new TreeSet<Cookie>(
CookieComparator.INSTANCE);
- private Content content = EmptyContent.INSTANCE;
+ private IoBuffer content = IoBuffer.allocate(0);
public HttpVersion getProtocolVersion() {
return protocolVersion;
@@ -155,16 +153,16 @@
: HttpHeaderConstants.VALUE_CLOSE);
}
- public Content getContent() {
+ public IoBuffer getContent() {
return content;
}
- public void setContent(Content content) {
+ public void setContent(IoBuffer content) {
if (content == null) {
- this.content = EmptyContent.INSTANCE;
- } else {
- this.content = content;
+ throw new NullPointerException("content");
}
+
+ this.content = content;
}
public void removeCookie(String name) {
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java (from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpRequest.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java&p1=mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpRequest.java&r1=596083&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpRequest.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpRequest.java Sun Nov 18 19:41:14 2007
@@ -17,25 +17,31 @@
* under the License.
*
*/
-package org.safehaus.asyncweb.common;
+package org.apache.mina.filter.codec.http;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
+import java.util.Set;
import java.util.StringTokenizer;
+import java.util.TimeZone;
-import org.safehaus.asyncweb.util.HttpHeaderConstants;
+import org.apache.mina.common.IoBuffer;
/**
* A default implementation of {@link MutableHttpRequest}.
-// *
- * @author trustin
- * @author irvingd
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
* @version $Rev$, $Date$
*/
public class DefaultHttpRequest extends DefaultHttpMessage implements
@@ -43,10 +49,8 @@
private static final long serialVersionUID = 3044997961372568928L;
- private HttpMethod method;
-
+ private HttpMethod method = HttpMethod.GET;
private URI requestUri;
-
private Map<String, List<String>> parameters = new HashMap<String, List<String>>();
/**
@@ -264,5 +268,157 @@
public Map<String, List<String>> getParameters() {
return Collections.unmodifiableMap(parameters);
+ }
+
+ /**
+ * Thread-local DateFormat for old-style cookies
+ */
+ private static final ThreadLocal<DateFormat> EXPIRY_FORMAT_LOACAL = new ThreadLocal<DateFormat>() {
+ @Override
+ protected DateFormat initialValue() {
+ SimpleDateFormat format = new SimpleDateFormat(
+ "EEE, dd-MMM-yyyy HH:mm:ss z", Locale.US);
+ format.setTimeZone(TimeZone.getTimeZone("GMT"));
+ return format;
+ }
+
+ };
+
+ /**
+ * A date long long ago, formatted in the old style cookie expire format
+ */
+ private static final String EXPIRED_DATE = getFormattedExpiry(0);
+
+ private static String getFormattedExpiry(long time) {
+ DateFormat format = EXPIRY_FORMAT_LOACAL.get();
+ return format.format(new Date(time));
+ }
+
+ public void normalize() {
+ // Encode parameters.
+ Map<String, List<String>> params = getParameters();
+ if (!params.isEmpty()) {
+ try {
+ boolean first = true;
+ StringBuilder buf = new StringBuilder();
+ for (Map.Entry<String, List<String>> e: params.entrySet()) {
+ if (e.getValue().isEmpty()) {
+ continue;
+ }
+
+ for (String v: e.getValue()) {
+ if (!first) {
+ buf.append('&');
+ }
+
+ buf.append(URLEncoder.encode(e.getKey(), "UTF-8"));
+ buf.append('=');
+ buf.append(URLEncoder.encode(v, "UTF-8"));
+ first = false;
+ }
+ }
+
+ if (buf.length() > 0) {
+ String uri = getRequestUri().toString();
+ int queryIndex = uri.indexOf('?');
+ switch (getMethod()) {
+ case POST:
+ if (queryIndex >= 0) {
+ setRequestUri(new URI(uri.substring(0, queryIndex)));
+ }
+ IoBuffer content = IoBuffer.allocate(buf.length());
+ content.put(buf.toString().getBytes(HttpCodecUtils.US_ASCII_CHARSET_NAME));
+ content.flip();
+ setContent(content);
+ setHeader(
+ HttpHeaderConstants.KEY_CONTENT_TYPE,
+ HttpHeaderConstants.VALUE_URLENCODED_FORM);
+ break;
+ default:
+ if (queryIndex >= 0) {
+ setRequestUri(new URI(
+ uri.substring(0, queryIndex + 1) + buf));
+ } else {
+ setRequestUri(new URI(
+ uri + '?' + buf));
+ }
+ }
+ }
+ } catch (Exception e) {
+ throw (InternalError) new InternalError(
+ "Unexpected exception.").initCause(e);
+ }
+ }
+
+ // Encode Cookies
+ Set<Cookie> cookies = getCookies();
+ if (!cookies.isEmpty()) {
+ // Clear previous values.
+ removeHeader("Set-Cookie");
+
+ // And encode.
+ for (Cookie c: cookies) {
+ StringBuilder buf = new StringBuilder();
+ buf.append(c.getName());
+ buf.append('=');
+ buf.append(c.getValue());
+ if (c.getVersion() > 0) {
+ buf.append("; version=");
+ buf.append(c.getVersion());
+ }
+ if (c.getPath() != null) {
+ buf.append("; path=");
+ buf.append(c.getPath());
+ }
+
+ long expiry = c.getMaxAge();
+ int version = c.getVersion();
+ if (expiry >= 0) {
+ if (version == 0) {
+ String expires = expiry == 0 ? EXPIRED_DATE
+ : getFormattedExpiry(System.currentTimeMillis()
+ + 1000 * expiry);
+ buf.append("; Expires=");
+ buf.append(expires);
+ } else {
+ buf.append("; max-age=");
+ buf.append(c.getMaxAge());
+ }
+ }
+
+ if (c.isSecure()) {
+ buf.append("; secure");
+ }
+
+ buf.append(';');
+
+ addHeader("Set-Cookie", buf.toString());
+ }
+ }
+
+ // Add the Host header.
+ if (!containsHeader("Host")) {
+ URI uri = getRequestUri();
+ String host = uri.getHost();
+ if (host != null) {
+ if ((uri.getScheme().equalsIgnoreCase("http") &&
+ uri.getPort() != 80 && uri.getPort() > 0) ||
+ (uri.getScheme().equalsIgnoreCase("https") &&
+ uri.getPort() != 443 && uri.getPort() > 0)) {
+ setHeader("Host", host + ':' + uri.getPort());
+ } else {
+ setHeader("Host", host);
+ }
+ }
+ }
+
+ // Set Content-Length.
+ if (!containsHeader(HttpHeaderConstants.KEY_TRANSFER_CODING)) {
+ IoBuffer content = getContent();
+ int contentLength = content == null? 0 : content.remaining();
+ setHeader(
+ HttpHeaderConstants.KEY_CONTENT_LENGTH,
+ String.valueOf(contentLength));
+ }
}
}
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpResponse.java (from r596083, mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpResponse.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpResponse.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpResponse.java&p1=mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpResponse.java&r1=596083&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/sandbox/asyncweb/core/src/main/java/org/safehaus/asyncweb/common/DefaultHttpResponse.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/DefaultHttpResponse.java Sun Nov 18 19:41:14 2007
@@ -17,17 +17,15 @@
* under the License.
*
*/
-package org.safehaus.asyncweb.common;
+package org.apache.mina.filter.codec.http;
+
+import org.apache.mina.common.IoBuffer;
-import org.safehaus.asyncweb.common.content.ByteBufferContent;
-import org.safehaus.asyncweb.common.content.EmptyContent;
-import org.safehaus.asyncweb.util.HttpDateFormat;
-import org.safehaus.asyncweb.util.HttpHeaderConstants;
/**
* A default implementation of {@link MutableHttpResponse}.
*
- * @author trustin
+ * @author The Apache MINA Project (dev@mina.apache.org)
* @version $Rev$, $Date$
*/
public class DefaultHttpResponse extends DefaultHttpMessage implements
@@ -36,7 +34,6 @@
private static final long serialVersionUID = -3733889080525034446L;
private HttpResponseStatus status = HttpResponseStatus.OK;
-
private String statusReasonPhrase = HttpResponseStatus.OK.getDescription();
/**
@@ -85,12 +82,11 @@
setHeader(HttpHeaderConstants.KEY_DATE, HttpDateFormat
.getCurrentHttpDate());
- // FIXME Support other content types.
int contentLength;
- if (isBodyAllowed(request) && getContent() instanceof ByteBufferContent) {
- contentLength = ((ByteBufferContent) getContent()).size();
+ if (isBodyAllowed(request)) {
+ contentLength = getContent().remaining();
} else {
- setContent(EmptyContent.INSTANCE);
+ setContent(IoBuffer.allocate(0));
contentLength = 0;
}
Copied: mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecFactory.java (from r596159, mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpProtocolCodecFactory.java)
URL: http://svn.apache.org/viewvc/mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecFactory.java?p2=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecFactory.java&p1=mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpProtocolCodecFactory.java&r1=596159&r2=596187&rev=596187&view=diff
==============================================================================
--- mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpProtocolCodecFactory.java (original)
+++ mina/trunk/filter-codec-http/src/main/java/org/apache/mina/filter/codec/http/HttpCodecFactory.java Sun Nov 18 19:41:14 2007
@@ -19,11 +19,11 @@
*/
package org.apache.mina.filter.codec.http;
+import org.apache.mina.common.IoAcceptor;
+import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFactory;
-import org.apache.mina.filter.codec.ProtocolEncoder;
import org.apache.mina.filter.codec.ProtocolDecoder;
-
-import java.net.URL;
+import org.apache.mina.filter.codec.ProtocolEncoder;
/**
* TODO HttpProtocolCodecFactory.
@@ -31,22 +31,27 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class HttpProtocolCodecFactory implements ProtocolCodecFactory {
-
- private final ProtocolEncoder encoder;
+public class HttpCodecFactory implements ProtocolCodecFactory {
- private final ProtocolDecoder decoder;
+ private final ProtocolEncoder requestEncoder = new HttpRequestEncoder();
+ private final ProtocolEncoder responseEncoder = new HttpResponseEncoder();
- public HttpProtocolCodecFactory(URL url) {
- encoder = new HttpRequestEncoder(url);
- decoder = new HttpResponseDecoder();
+ public HttpCodecFactory() {
}
- public ProtocolEncoder getEncoder() throws Exception {
- return encoder;
+ public ProtocolEncoder getEncoder(IoSession session) throws Exception {
+ if (session.getService() instanceof IoAcceptor) {
+ return responseEncoder;
+ } else {
+ return requestEncoder;
+ }
}
- public ProtocolDecoder getDecoder() throws Exception {
- return decoder;
+ public ProtocolDecoder getDecoder(IoSession session) throws Exception {
+ if (session.getService() instanceof IoAcceptor) {
+ return new HttpRequestDecoder();
+ } else {
+ return new HttpResponseDecoder();
+ }
}
}