You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/07/13 18:32:13 UTC
svn commit: r421660 -
/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestUtil.java
Author: cziegeler
Date: Thu Jul 13 09:32:13 2006
New Revision: 421660
URL: http://svn.apache.org/viewvc?rev=421660&view=rev
Log:
Add request wrapper
Modified:
cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestUtil.java
Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestUtil.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestUtil.java?rev=421660&r1=421659&r2=421660&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestUtil.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestUtil.java Thu Jul 13 09:32:13 2006
@@ -18,17 +18,20 @@
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
/**
*
* @version $Id$
+ * @since 2.2
*/
public class RequestUtil {
public static String getCompleteUri(HttpServletRequest request,
HttpServletResponse response)
throws IOException {
+ // We got it... Process the request
String uri = request.getServletPath();
if (uri == null) {
uri = "";
@@ -58,9 +61,42 @@
response.sendRedirect(response.encodeRedirectURL(prefix + "/"));
return null;
}
+
if (uri.charAt(0) == '/') {
uri = uri.substring(1);
}
return uri;
+ }
+
+ public static HttpServletRequest createRequestForUri(HttpServletRequest request, String uri) {
+ return new HttpServletRequestImpl(request, uri);
+ }
+
+ /** TODO - we have to check the return values with the servlet spec! */
+ protected static final class HttpServletRequestImpl extends HttpServletRequestWrapper {
+
+ final private String uri;
+
+ public HttpServletRequestImpl(HttpServletRequest request, String uri) {
+ super(request);
+ this.uri = uri;
+ }
+
+ public String getPathInfo() {
+ return this.uri;
+ }
+
+ public String getRequestURI() {
+ return this.uri;
+ }
+
+ public StringBuffer getRequestURL() {
+ return new StringBuffer(this.uri);
+ }
+
+ public String getServletPath() {
+ return null;
+ }
+
}
}