You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jg...@apache.org on 2007/12/30 12:37:00 UTC
svn commit: r607542 [5/6] - in /geronimo/sandbox/async-http-client-mina2: ./
src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/ahc/ src/main/java/org/apache/ahc/auth/
src/main/java/org/apache/ahc/codec/...
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml Sun Dec 30 03:36:47 2007
@@ -0,0 +1,1165 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <!-- ======================== Introduction ============================== -->
+ <!-- This document defines default values for *all* web applications -->
+ <!-- loaded into this instance of Tomcat. As each application is -->
+ <!-- deployed, this file is processed, followed by the -->
+ <!-- "/WEB-INF/web.xml" deployment descriptor from your own -->
+ <!-- applications. -->
+ <!-- -->
+ <!-- WARNING: Do not configure application-specific resources here! -->
+ <!-- They should go in the "/WEB-INF/web.xml" file in your application. -->
+
+
+ <!-- ================== Built In Servlet Definitions ==================== -->
+
+
+ <!-- The default servlet for all web applications, that serves static -->
+ <!-- resources. It processes all requests that are not mapped to other -->
+ <!-- servlets with servlet mappings (defined either here or in your own -->
+ <!-- web.xml file. This servlet supports the following initialization -->
+ <!-- parameters (default values are in square brackets): -->
+ <!-- -->
+ <!-- debug Debugging detail level for messages logged -->
+ <!-- by this servlet. [0] -->
+ <!-- -->
+ <!-- fileEncoding Encoding to be used to read static resources -->
+ <!-- [platform default] -->
+ <!-- -->
+ <!-- input Input buffer size (in bytes) when reading -->
+ <!-- resources to be served. [2048] -->
+ <!-- -->
+ <!-- listings Should directory listings be produced if there -->
+ <!-- is no welcome file in this directory? [false] -->
+ <!-- WARNING: Listings for directories with many -->
+ <!-- entries can be slow and may consume -->
+ <!-- significant proportions of server resources. -->
+ <!-- -->
+ <!-- output Output buffer size (in bytes) when writing -->
+ <!-- resources to be served. [2048] -->
+ <!-- -->
+ <!-- readonly Is this context "read only", so HTTP -->
+ <!-- commands like PUT and DELETE are -->
+ <!-- rejected? [true] -->
+ <!-- -->
+ <!-- readmeFile File name to display with the directory -->
+ <!-- contents. [null] -->
+ <!-- -->
+ <!-- sendfileSize If the connector used supports sendfile, this -->
+ <!-- represents the minimal file size in KB for -->
+ <!-- which sendfile will be used. Use a negative -->
+ <!-- value to always disable sendfile. [48] -->
+ <!-- -->
+ <!-- For directory listing customization. Checks localXsltFile, then -->
+ <!-- globalXsltFile, then defaults to original behavior. -->
+ <!-- -->
+ <!-- localXsltFile Make directory listings an XML doc and -->
+ <!-- pass the result to this style sheet residing -->
+ <!-- in that directory. This overrides -->
+ <!-- globalXsltFile[null] -->
+ <!-- -->
+ <!-- globalXsltFile Site wide configuration version of -->
+ <!-- localXsltFile This argument is expected -->
+ <!-- to be a physical file. [null] -->
+ <!-- -->
+ <!-- -->
+
+ <servlet>
+ <servlet-name>default</servlet-name>
+ <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>listings</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+
+ <!-- The "invoker" servlet, which executes anonymous servlet classes -->
+ <!-- that have not been defined in a web.xml file. Traditionally, this -->
+ <!-- servlet is mapped to the URL pattern "/servlet/*", but you can map -->
+ <!-- it to other patterns as well. The extra path info portion of such a -->
+ <!-- request must be the fully qualified class name of a Java class that -->
+ <!-- implements Servlet (or extends HttpServlet), or the servlet name -->
+ <!-- of an existing servlet definition. This servlet supports the -->
+ <!-- following initialization parameters (default values are in square -->
+ <!-- brackets): -->
+ <!-- -->
+ <!-- debug Debugging detail level for messages logged -->
+ <!-- by this servlet. [0] -->
+
+<!--
+ <servlet>
+ <servlet-name>invoker</servlet-name>
+ <servlet-class>
+ org.apache.catalina.servlets.InvokerServlet
+ </servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
+-->
+
+
+ <!-- The JSP page compiler and execution servlet, which is the mechanism -->
+ <!-- used by Tomcat to support JSP pages. Traditionally, this servlet -->
+ <!-- is mapped to the URL pattern "*.jsp". This servlet supports the -->
+ <!-- following initialization parameters (default values are in square -->
+ <!-- brackets): -->
+ <!-- -->
+ <!-- checkInterval If development is false and checkInterval is -->
+ <!-- greater than zero, background compilations are -->
+ <!-- enabled. checkInterval is the time in seconds -->
+ <!-- between checks to see if a JSP page needs to -->
+ <!-- be recompiled. [0] -->
+ <!-- -->
+ <!-- modificationTestInterval -->
+ <!-- Causes a JSP (and its dependent files) to not -->
+ <!-- be checked for modification during the -->
+ <!-- specified time interval (in seconds) from the -->
+ <!-- last time the JSP was checked for -->
+ <!-- modification. A value of 0 will cause the JSP -->
+ <!-- to be checked on every access. -->
+ <!-- Used in development mode only. [4] -->
+ <!-- -->
+ <!-- compiler Which compiler Ant should use to compile JSP -->
+ <!-- pages. See the Ant documentation for more -->
+ <!-- information. [javac] -->
+ <!-- -->
+ <!-- classdebuginfo Should the class file be compiled with -->
+ <!-- debugging information? [true] -->
+ <!-- -->
+ <!-- classpath What class path should I use while compiling -->
+ <!-- generated servlets? [Created dynamically -->
+ <!-- based on the current web application] -->
+ <!-- -->
+ <!-- development Is Jasper used in development mode? If true, -->
+ <!-- the frequency at which JSPs are checked for -->
+ <!-- modification may be specified via the -->
+ <!-- modificationTestInterval parameter. [true] -->
+ <!-- -->
+ <!-- enablePooling Determines whether tag handler pooling is -->
+ <!-- enabled [true] -->
+ <!-- -->
+ <!-- fork Tell Ant to fork compiles of JSP pages so that -->
+ <!-- a separate JVM is used for JSP page compiles -->
+ <!-- from the one Tomcat is running in. [true] -->
+ <!-- -->
+ <!-- ieClassId The class-id value to be sent to Internet -->
+ <!-- Explorer when using <jsp:plugin> tags. -->
+ <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
+ <!-- -->
+ <!-- javaEncoding Java file encoding to use for generating java -->
+ <!-- source files. [UTF8] -->
+ <!-- -->
+ <!-- keepgenerated Should we keep the generated Java source code -->
+ <!-- for each page instead of deleting it? [true] -->
+ <!-- -->
+ <!-- mappedfile Should we generate static content with one -->
+ <!-- print statement per input line, to ease -->
+ <!-- debugging? [true] -->
+ <!-- -->
+ <!-- trimSpaces Should white spaces in template text between -->
+ <!-- actions or directives be trimmed? [false] -->
+ <!-- -->
+ <!-- suppressSmap Should the generation of SMAP info for JSR45 -->
+ <!-- debugging be suppressed? [false] -->
+ <!-- -->
+ <!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
+ <!-- dumped to a file? [false] -->
+ <!-- False if suppressSmap is true -->
+ <!-- -->
+ <!-- genStrAsCharArray Should text strings be generated as char -->
+ <!-- arrays, to improve performance in some cases? -->
+ <!-- [false] -->
+ <!-- -->
+ <!-- errorOnUseBeanInvalidClassAttribute -->
+ <!-- Should Jasper issue an error when the value of -->
+ <!-- the class attribute in an useBean action is -->
+ <!-- not a valid bean class? [true] -->
+ <!-- -->
+ <!-- scratchdir What scratch directory should we use when -->
+ <!-- compiling JSP pages? [default work directory -->
+ <!-- for the current web application] -->
+ <!-- -->
+ <!-- xpoweredBy Determines whether X-Powered-By response -->
+ <!-- header is added by generated servlet [false] -->
+ <!-- -->
+ <!-- compilerTargetVM Compiler target VM -->
+ <!-- default is System.properties -->
+ <!-- java.specification.version > 1.4 -->
+ <!-- [1.5] else [1.4] -->
+ <!-- -->
+ <!-- compilerSourceVM Compiler source VM -->
+ <!-- default is System.properties -->
+ <!-- java.specification.version > 1.4 -->
+ <!-- [1.5] else [1.4] -->
+ <!-- -->
+ <!-- If you wish to use Jikes to compile JSP pages: -->
+ <!-- Please see the "Using Jikes" section of the Jasper-HowTo -->
+ <!-- page in the Tomcat documentation. -->
+
+ <servlet>
+ <servlet-name>jsp</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ <init-param>
+ <param-name>fork</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <init-param>
+ <param-name>xpoweredBy</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>3</load-on-startup>
+ </servlet>
+
+
+ <!-- NOTE: An SSI Filter is also available as an alternative SSI -->
+ <!-- implementation. Use either the Servlet or the Filter but NOT both. -->
+ <!-- -->
+ <!-- Server Side Includes processing servlet, which processes SSI -->
+ <!-- directives in HTML pages consistent with similar support in web -->
+ <!-- servers like Apache. Traditionally, this servlet is mapped to the -->
+ <!-- URL pattern "*.shtml". This servlet supports the following -->
+ <!-- initialization parameters (default values are in square brackets): -->
+ <!-- -->
+ <!-- buffered Should output from this servlet be buffered? -->
+ <!-- (0=false, 1=true) [0] -->
+ <!-- -->
+ <!-- debug Debugging detail level for messages logged -->
+ <!-- by this servlet. [0] -->
+ <!-- -->
+ <!-- expires The number of seconds before a page with SSI -->
+ <!-- directives will expire. [No default] -->
+ <!-- -->
+ <!-- isVirtualWebappRelative -->
+ <!-- Should "virtual" paths be interpreted as -->
+ <!-- relative to the context root, instead of -->
+ <!-- the server root? (0=false, 1=true) [0] -->
+ <!-- -->
+ <!-- inputEncoding The encoding to assume for SSI resources if -->
+ <!-- one is not available from the resource. -->
+ <!-- [Platform default] -->
+ <!-- -->
+ <!-- outputEncoding The encoding to use for the page that results -->
+ <!-- from the SSI processing. [UTF-8] -->
+ <!-- -->
+ <!-- -->
+ <!-- IMPORTANT: To use the SSI servlet, you also need to rename the -->
+ <!-- $CATALINA_HOME/server/lib/servlets-ssi.renametojar file -->
+ <!-- to $CATALINA_HOME/server/lib/servlets-ssi.jar -->
+
+<!--
+ <servlet>
+ <servlet-name>ssi</servlet-name>
+ <servlet-class>
+ org.apache.catalina.ssi.SSIServlet
+ </servlet-class>
+ <init-param>
+ <param-name>buffered</param-name>
+ <param-value>1</param-value>
+ </init-param>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>expires</param-name>
+ <param-value>666</param-value>
+ </init-param>
+ <init-param>
+ <param-name>isVirtualWebappRelative</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <load-on-startup>4</load-on-startup>
+ </servlet>
+-->
+
+
+ <!-- Common Gateway Includes (CGI) processing servlet, which supports -->
+ <!-- execution of external applications that conform to the CGI spec -->
+ <!-- requirements. Typically, this servlet is mapped to the URL pattern -->
+ <!-- "/cgi-bin/*", which means that any CGI applications that are -->
+ <!-- executed must be present within the web application. This servlet -->
+ <!-- supports the following initialization parameters (default values -->
+ <!-- are in square brackets): -->
+ <!-- -->
+ <!-- cgiPathPrefix The CGI search path will start at -->
+ <!-- webAppRootDir + File.separator + this prefix. -->
+ <!-- [WEB-INF/cgi] -->
+ <!-- -->
+ <!-- debug Debugging detail level for messages logged -->
+ <!-- by this servlet. [0] -->
+ <!-- -->
+ <!-- executable Name of the exectuable used to run the -->
+ <!-- script. [perl] -->
+ <!-- -->
+ <!-- parameterEncoding Name of parameter encoding to be used with -->
+ <!-- CGI servlet. -->
+ <!-- [System.getProperty("file.encoding","UTF-8")] -->
+ <!-- -->
+ <!-- passShellEnvironment Should the shell environment variables (if -->
+ <!-- any) be passed to the CGI script? [false] -->
+ <!-- -->
+ <!-- IMPORTANT: To use the CGI servlet, you also need to rename the -->
+ <!-- $CATALINA_HOME/server/lib/servlets-cgi.renametojar file -->
+ <!-- to $CATALINA_HOME/server/lib/servlets-cgi.jar -->
+
+<!--
+ <servlet>
+ <servlet-name>cgi</servlet-name>
+ <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>cgiPathPrefix</param-name>
+ <param-value>WEB-INF/cgi</param-value>
+ </init-param>
+ <load-on-startup>5</load-on-startup>
+ </servlet>
+-->
+
+
+ <!-- ================ Built In Servlet Mappings ========================= -->
+
+
+ <!-- The servlet mappings for the built in servlets defined above. Note -->
+ <!-- that, by default, the CGI and SSI servlets are *not* mapped. You -->
+ <!-- must uncomment these mappings (or add them to your application's own -->
+ <!-- web.xml deployment descriptor) to enable these services -->
+
+ <!-- The mapping for the default servlet -->
+ <servlet-mapping>
+ <servlet-name>default</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+
+ <!-- The mapping for the invoker servlet -->
+<!--
+ <servlet-mapping>
+ <servlet-name>invoker</servlet-name>
+ <url-pattern>/servlet/*</url-pattern>
+ </servlet-mapping>
+-->
+
+ <!-- The mapping for the JSP servlet -->
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jspx</url-pattern>
+ </servlet-mapping>
+
+ <!-- The mapping for the SSI servlet -->
+<!--
+ <servlet-mapping>
+ <servlet-name>ssi</servlet-name>
+ <url-pattern>*.shtml</url-pattern>
+ </servlet-mapping>
+-->
+
+ <!-- The mapping for the CGI Gateway servlet -->
+
+<!--
+ <servlet-mapping>
+ <servlet-name>cgi</servlet-name>
+ <url-pattern>/cgi-bin/*</url-pattern>
+ </servlet-mapping>
+-->
+
+
+ <!-- ================== Built In Filter Definitions ===================== -->
+
+ <!-- NOTE: An SSI Servlet is also available as an alternative SSI -->
+ <!-- implementation. Use either the Servlet or the Filter but NOT both. -->
+ <!-- -->
+ <!-- Server Side Includes processing filter, which processes SSI -->
+ <!-- directives in HTML pages consistent with similar support in web -->
+ <!-- servers like Apache. Traditionally, this filter is mapped to the -->
+ <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will -->
+ <!-- selectively enable/disable SSI processing based on mime types. For -->
+ <!-- this to work you will need to uncomment the .shtml mime type -->
+ <!-- definition towards the bottom of this file. -->
+ <!-- The contentType init param allows you to apply SSI processing to JSP -->
+ <!-- pages, javascript, or any other content you wish. This filter -->
+ <!-- supports the following initialization parameters (default values are -->
+ <!-- in square brackets): -->
+ <!-- -->
+ <!-- contentType A regex pattern that must be matched before -->
+ <!-- SSI processing is applied. -->
+ <!-- [text/x-server-parsed-html(;.*)?] -->
+ <!-- -->
+ <!-- debug Debugging detail level for messages logged -->
+ <!-- by this servlet. [0] -->
+ <!-- -->
+ <!-- expires The number of seconds before a page with SSI -->
+ <!-- directives will expire. [No default] -->
+ <!-- -->
+ <!-- isVirtualWebappRelative -->
+ <!-- Should "virtual" paths be interpreted as -->
+ <!-- relative to the context root, instead of -->
+ <!-- the server root? (0=false, 1=true) [0] -->
+ <!-- -->
+ <!-- -->
+ <!-- IMPORTANT: To use the SSI filter, you also need to rename the -->
+ <!-- $CATALINA_HOME/server/lib/servlets-ssi.renametojar file -->
+ <!-- to $CATALINA_HOME/server/lib/servlets-ssi.jar -->
+
+<!--
+ <filter>
+ <filter-name>ssi</filter-name>
+ <filter-class>
+ org.apache.catalina.ssi.SSIFilter
+ </filter-class>
+ <init-param>
+ <param-name>contentType</param-name>
+ <param-value>text/x-server-parsed-html(;.*)?</param-value>
+ </init-param>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>expires</param-name>
+ <param-value>666</param-value>
+ </init-param>
+ <init-param>
+ <param-name>isVirtualWebappRelative</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ </filter>
+-->
+
+
+ <!-- ==================== Built In Filter Mappings ====================== -->
+
+ <!-- The mapping for the SSI Filter -->
+<!--
+ <filter-mapping>
+ <filter-name>ssi</filter-name>
+ <url-pattern>*.shtml</url-pattern>
+ </filter-mapping>
+-->
+
+
+ <!-- ==================== Default Session Configuration ================= -->
+ <!-- You can set the default session timeout (in minutes) for all newly -->
+ <!-- created sessions by modifying the value below. -->
+
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+
+ <!-- ===================== Default MIME Type Mappings =================== -->
+ <!-- When serving static resources, Tomcat will automatically generate -->
+ <!-- a "Content-Type" header based on the resource's filename extension, -->
+ <!-- based on these mappings. Additional mappings can be added here (to -->
+ <!-- apply to all web applications), or in your own application's web.xml -->
+ <!-- deployment descriptor. -->
+
+ <mime-mapping>
+ <extension>abs</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ai</extension>
+ <mime-type>application/postscript</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>aif</extension>
+ <mime-type>audio/x-aiff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>aifc</extension>
+ <mime-type>audio/x-aiff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>aiff</extension>
+ <mime-type>audio/x-aiff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>aim</extension>
+ <mime-type>application/x-aim</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>art</extension>
+ <mime-type>image/x-jg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>asf</extension>
+ <mime-type>video/x-ms-asf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>asx</extension>
+ <mime-type>video/x-ms-asf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>au</extension>
+ <mime-type>audio/basic</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>avi</extension>
+ <mime-type>video/x-msvideo</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>avx</extension>
+ <mime-type>video/x-rad-screenplay</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>bcpio</extension>
+ <mime-type>application/x-bcpio</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>bin</extension>
+ <mime-type>application/octet-stream</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>bmp</extension>
+ <mime-type>image/bmp</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>body</extension>
+ <mime-type>text/html</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>cdf</extension>
+ <mime-type>application/x-cdf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>cer</extension>
+ <mime-type>application/x-x509-ca-cert</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>class</extension>
+ <mime-type>application/java</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>cpio</extension>
+ <mime-type>application/x-cpio</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>csh</extension>
+ <mime-type>application/x-csh</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>css</extension>
+ <mime-type>text/css</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>dib</extension>
+ <mime-type>image/bmp</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>doc</extension>
+ <mime-type>application/msword</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>dtd</extension>
+ <mime-type>application/xml-dtd</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>dv</extension>
+ <mime-type>video/x-dv</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>dvi</extension>
+ <mime-type>application/x-dvi</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>eps</extension>
+ <mime-type>application/postscript</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>etx</extension>
+ <mime-type>text/x-setext</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>exe</extension>
+ <mime-type>application/octet-stream</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>gif</extension>
+ <mime-type>image/gif</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>gtar</extension>
+ <mime-type>application/x-gtar</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>gz</extension>
+ <mime-type>application/x-gzip</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>hdf</extension>
+ <mime-type>application/x-hdf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>hqx</extension>
+ <mime-type>application/mac-binhex40</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>htc</extension>
+ <mime-type>text/x-component</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>htm</extension>
+ <mime-type>text/html</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>html</extension>
+ <mime-type>text/html</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>hqx</extension>
+ <mime-type>application/mac-binhex40</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ief</extension>
+ <mime-type>image/ief</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jad</extension>
+ <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jar</extension>
+ <mime-type>application/java-archive</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>java</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jnlp</extension>
+ <mime-type>application/x-java-jnlp-file</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jpe</extension>
+ <mime-type>image/jpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jpeg</extension>
+ <mime-type>image/jpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jpg</extension>
+ <mime-type>image/jpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>js</extension>
+ <mime-type>text/javascript</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jsf</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>jspf</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>kar</extension>
+ <mime-type>audio/x-midi</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>latex</extension>
+ <mime-type>application/x-latex</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>m3u</extension>
+ <mime-type>audio/x-mpegurl</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mac</extension>
+ <mime-type>image/x-macpaint</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>man</extension>
+ <mime-type>application/x-troff-man</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mathml</extension>
+ <mime-type>application/mathml+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>me</extension>
+ <mime-type>application/x-troff-me</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mid</extension>
+ <mime-type>audio/x-midi</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>midi</extension>
+ <mime-type>audio/x-midi</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mif</extension>
+ <mime-type>application/x-mif</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mov</extension>
+ <mime-type>video/quicktime</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>movie</extension>
+ <mime-type>video/x-sgi-movie</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mp1</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mp2</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mp3</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mpa</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mpe</extension>
+ <mime-type>video/mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mpeg</extension>
+ <mime-type>video/mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mpega</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mpg</extension>
+ <mime-type>video/mpeg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>mpv2</extension>
+ <mime-type>video/mpeg2</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ms</extension>
+ <mime-type>application/x-wais-source</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>nc</extension>
+ <mime-type>application/x-netcdf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>oda</extension>
+ <mime-type>application/oda</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Database -->
+ <extension>odb</extension>
+ <mime-type>application/vnd.oasis.opendocument.database</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Chart -->
+ <extension>odc</extension>
+ <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Formula -->
+ <extension>odf</extension>
+ <mime-type>application/vnd.oasis.opendocument.formula</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Drawing -->
+ <extension>odg</extension>
+ <mime-type>application/vnd.oasis.opendocument.graphics</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Image -->
+ <extension>odi</extension>
+ <mime-type>application/vnd.oasis.opendocument.image</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Master Document -->
+ <extension>odm</extension>
+ <mime-type>application/vnd.oasis.opendocument.text-master</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Presentation -->
+ <extension>odp</extension>
+ <mime-type>application/vnd.oasis.opendocument.presentation</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Spreadsheet -->
+ <extension>ods</extension>
+ <mime-type>application/vnd.oasis.opendocument.spreadsheet</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Text -->
+ <extension>odt</extension>
+ <mime-type>application/vnd.oasis.opendocument.text</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ogg</extension>
+ <mime-type>application/ogg</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Drawing Template -->
+ <extension>otg </extension>
+ <mime-type>application/vnd.oasis.opendocument.graphics-template</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- HTML Document Template -->
+ <extension>oth</extension>
+ <mime-type>application/vnd.oasis.opendocument.text-web</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Presentation Template -->
+ <extension>otp</extension>
+ <mime-type>application/vnd.oasis.opendocument.presentation-template</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Spreadsheet Template -->
+ <extension>ots</extension>
+ <mime-type>application/vnd.oasis.opendocument.spreadsheet-template </mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- OpenDocument Text Template -->
+ <extension>ott</extension>
+ <mime-type>application/vnd.oasis.opendocument.text-template</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pbm</extension>
+ <mime-type>image/x-portable-bitmap</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pct</extension>
+ <mime-type>image/pict</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pdf</extension>
+ <mime-type>application/pdf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pgm</extension>
+ <mime-type>image/x-portable-graymap</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pic</extension>
+ <mime-type>image/pict</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pict</extension>
+ <mime-type>image/pict</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pls</extension>
+ <mime-type>audio/x-scpls</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>png</extension>
+ <mime-type>image/png</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pnm</extension>
+ <mime-type>image/x-portable-anymap</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>pnt</extension>
+ <mime-type>image/x-macpaint</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ppm</extension>
+ <mime-type>image/x-portable-pixmap</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ppt</extension>
+ <mime-type>application/powerpoint</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ps</extension>
+ <mime-type>application/postscript</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>psd</extension>
+ <mime-type>image/x-photoshop</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>qt</extension>
+ <mime-type>video/quicktime</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>qti</extension>
+ <mime-type>image/x-quicktime</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>qtif</extension>
+ <mime-type>image/x-quicktime</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ras</extension>
+ <mime-type>image/x-cmu-raster</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>rdf</extension>
+ <mime-type>application/rdf+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>rgb</extension>
+ <mime-type>image/x-rgb</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>rm</extension>
+ <mime-type>application/vnd.rn-realmedia</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>roff</extension>
+ <mime-type>application/x-troff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>rtf</extension>
+ <mime-type>application/rtf</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>rtx</extension>
+ <mime-type>text/richtext</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>sh</extension>
+ <mime-type>application/x-sh</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>shar</extension>
+ <mime-type>application/x-shar</mime-type>
+ </mime-mapping>
+<!--
+ <mime-mapping>
+ <extension>shtml</extension>
+ <mime-type>text/x-server-parsed-html</mime-type>
+ </mime-mapping>
+-->
+ <mime-mapping>
+ <extension>smf</extension>
+ <mime-type>audio/x-midi</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>sit</extension>
+ <mime-type>application/x-stuffit</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>snd</extension>
+ <mime-type>audio/basic</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>src</extension>
+ <mime-type>application/x-wais-source</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>sv4cpio</extension>
+ <mime-type>application/x-sv4cpio</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>sv4crc</extension>
+ <mime-type>application/x-sv4crc</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>swf</extension>
+ <mime-type>application/x-shockwave-flash</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>t</extension>
+ <mime-type>application/x-troff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tar</extension>
+ <mime-type>application/x-tar</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tcl</extension>
+ <mime-type>application/x-tcl</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tex</extension>
+ <mime-type>application/x-tex</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>texi</extension>
+ <mime-type>application/x-texinfo</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>texinfo</extension>
+ <mime-type>application/x-texinfo</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tif</extension>
+ <mime-type>image/tiff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tiff</extension>
+ <mime-type>image/tiff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tr</extension>
+ <mime-type>application/x-troff</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>tsv</extension>
+ <mime-type>text/tab-separated-values</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>txt</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ulw</extension>
+ <mime-type>audio/basic</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ustar</extension>
+ <mime-type>application/x-ustar</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>vxml</extension>
+ <mime-type>application/voicexml+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xbm</extension>
+ <mime-type>image/x-xbitmap</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xht</extension>
+ <mime-type>application/xhtml+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xhtml</extension>
+ <mime-type>application/xhtml+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xml</extension>
+ <mime-type>application/xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xpm</extension>
+ <mime-type>image/x-xpixmap</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xsl</extension>
+ <mime-type>application/xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xslt</extension>
+ <mime-type>application/xslt+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xul</extension>
+ <mime-type>application/vnd.mozilla.xul+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xwd</extension>
+ <mime-type>image/x-xwindowdump</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>wav</extension>
+ <mime-type>audio/x-wav</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>svg</extension>
+ <mime-type>image/svg+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>svgz</extension>
+ <mime-type>image/svg+xml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>vsd</extension>
+ <mime-type>application/x-visio</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- Wireless Bitmap -->
+ <extension>wbmp</extension>
+ <mime-type>image/vnd.wap.wbmp</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- WML Source -->
+ <extension>wml</extension>
+ <mime-type>text/vnd.wap.wml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- Compiled WML -->
+ <extension>wmlc</extension>
+ <mime-type>application/vnd.wap.wmlc</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- WML Script Source -->
+ <extension>wmls</extension>
+ <mime-type>text/vnd.wap.wmlscript</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <!-- Compiled WML Script -->
+ <extension>wmlscriptc</extension>
+ <mime-type>application/vnd.wap.wmlscriptc</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>wrl</extension>
+ <mime-type>x-world/x-vrml</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>Z</extension>
+ <mime-type>application/x-compress</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>z</extension>
+ <mime-type>application/x-compress</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>zip</extension>
+ <mime-type>application/zip</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>xls</extension>
+ <mime-type>application/vnd.ms-excel</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>doc</extension>
+ <mime-type>application/vnd.ms-word</mime-type>
+ </mime-mapping>
+ <mime-mapping>
+ <extension>ppt</extension>
+ <mime-type>application/vnd.ms-powerpoint</mime-type>
+ </mime-mapping>
+
+ <!-- ==================== Default Welcome File List ===================== -->
+ <!-- When a request URI refers to a directory, the default servlet looks -->
+ <!-- for a "welcome file" within that directory and, if present, -->
+ <!-- to the corresponding resource URI for display. If no welcome file -->
+ <!-- is present, the default servlet either serves a directory listing, -->
+ <!-- or returns a 404 status, depending on how it is configured. -->
+ <!-- -->
+ <!-- If you define welcome files in your own application's web.xml -->
+ <!-- deployment descriptor, that list *replaces* the list configured -->
+ <!-- here, so be sure that you include any of the default values that -->
+ <!-- you wish to include. -->
+
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+</web-app>
+
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/conf/web.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/index.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/index.jsp?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/index.jsp (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/index.jsp Sun Dec 30 03:36:47 2007
@@ -0,0 +1,6 @@
+<%
+ Cookie cookie = new Cookie("test","value");
+ cookie.setMaxAge(3600);
+ response.addCookie(cookie);
+%>
+Hello World!
\ No newline at end of file
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/index.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/index.jsp
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/params.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/params.jsp?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/params.jsp (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/params.jsp Sun Dec 30 03:36:47 2007
@@ -0,0 +1 @@
+<%= request.getParameter("TEST1") %> <%= request.getParameter("TEST2") %>
\ No newline at end of file
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/params.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/params.jsp
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/pwrd_apache.gif
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/pwrd_apache.gif?rev=607542&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/pwrd_apache.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/redirect.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/redirect.jsp?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/redirect.jsp (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/redirect.jsp Sun Dec 30 03:36:47 2007
@@ -0,0 +1,3 @@
+<%
+ response.sendRedirect("http://localhost:8282/index.jsp");
+%>
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/redirect.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/redirect.jsp
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/timeout.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/timeout.jsp?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/timeout.jsp (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/timeout.jsp Sun Dec 30 03:36:47 2007
@@ -0,0 +1,5 @@
+<%
+ Thread.sleep(5000);
+%>
+Hello World!
+
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/timeout.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/ROOT/timeout.jsp
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml Sun Dec 30 03:36:47 2007
@@ -0,0 +1,45 @@
+<!--
+ ~ 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
+ ~
+ ~ 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.
+ -->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
+ version="2.4">
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ <realm-name>test</realm-name>
+ </login-config>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>everything</web-resource-name>
+ <url-pattern>/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>test</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+ <security-role>
+ <description>Test role</description>
+ <role-name>test</role-name>
+ </security-role>
+
+</web-app>
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/secure.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/secure.jsp?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/secure.jsp (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/secure.jsp Sun Dec 30 03:36:47 2007
@@ -0,0 +1 @@
+Hello World!
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/secure.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_basic/secure.jsp
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml Sun Dec 30 03:36:47 2007
@@ -0,0 +1,45 @@
+<!--
+ ~ 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
+ ~
+ ~ 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.
+ -->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
+ version="2.4">
+ <login-config>
+ <auth-method>DIGEST</auth-method>
+ <realm-name>test</realm-name>
+ </login-config>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>everything</web-resource-name>
+ <url-pattern>/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>test</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+ <security-role>
+ <description>Test role</description>
+ <role-name>test</role-name>
+ </security-role>
+
+</web-app>
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/secure.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/secure.jsp?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/secure.jsp (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/secure.jsp Sun Dec 30 03:36:47 2007
@@ -0,0 +1 @@
+Hello World!
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/secure.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/catalina/webapps/auth_digest/secure.jsp
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Added: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java Sun Dec 30 03:36:47 2007
@@ -0,0 +1,198 @@
+/*
+ * 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
+ *
+ * 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.ahc;
+
+import java.io.File;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import junit.framework.TestCase;
+
+import org.apache.ahc.codec.HttpResponseMessage;
+import org.apache.catalina.Engine;
+import org.apache.catalina.Host;
+import org.apache.catalina.connector.Connector;
+import org.apache.catalina.core.StandardContext;
+import org.apache.catalina.core.StandardHost;
+import org.apache.catalina.startup.Embedded;
+
+public class AbstractTest extends TestCase {
+
+ protected static final File BASEDIR = getBaseDir();
+ protected static final File CATALINAHOME = new File(BASEDIR, "src/test/catalina");
+ protected static final File KEYSTORE = new File(CATALINAHOME, "conf/keystore");
+ protected static final File WEBAPPS = new File(CATALINAHOME, "webapps");
+ protected static final File ROOT = new File(WEBAPPS, "ROOT");
+ protected static final File AUTH_BASIC = new File(WEBAPPS, "auth_basic");
+ protected static final File AUTH_DIGEST = new File(WEBAPPS, "auth_digest");
+ protected static final File WORK = new File(BASEDIR, "target/work");
+ protected Embedded server;
+
+ protected void setUp() throws Exception {
+ System.out.println("BASEDIR = " + BASEDIR.getAbsolutePath());
+ server = new Embedded();
+ server.setCatalinaHome(CATALINAHOME.getAbsolutePath());
+
+ Engine engine = server.createEngine();
+ engine.setDefaultHost("localhost");
+
+ Host host = server.createHost("localhost", WEBAPPS.getAbsolutePath());
+ ((StandardHost)host).setWorkDir(WORK.getAbsolutePath());
+ engine.addChild(host);
+
+ //Ass the Root context
+ StandardContext context = (StandardContext)server.createContext("", ROOT.getAbsolutePath());
+ context.setParentClassLoader(Thread.currentThread().getContextClassLoader());
+ host.addChild(context);
+
+ //Add the auth basic context
+ context = (StandardContext)server.createContext("", AUTH_BASIC.getAbsolutePath());
+ context.setParentClassLoader(Thread.currentThread().getContextClassLoader());
+ context.setRealm(new FakeRealm());
+ context.setPath("/authbasic");
+ host.addChild(context);
+
+ //Add the auth digest context
+ context = (StandardContext)server.createContext("", AUTH_DIGEST.getAbsolutePath());
+ context.setParentClassLoader(Thread.currentThread().getContextClassLoader());
+ context.setRealm(new FakeRealm());
+ context.setPath("/authdigest");
+ host.addChild(context);
+
+ server.addEngine(engine);
+
+ //Http
+ Connector http = server.createConnector("localhost", 8282, false);
+ server.addConnector(http);
+
+ //Https
+ Connector https = server.createConnector("localhost", 8383, true);
+ https.setAttribute("keystoreFile", KEYSTORE.getAbsolutePath());
+ server.addConnector(https);
+ server.start();
+ }
+
+
+ protected void tearDown() throws Exception {
+ if (server != null) {
+ server.stop();
+ }
+ }
+
+ protected static final File getBaseDir() {
+ File dir;
+
+ // If ${basedir} is set, then honor it
+ String tmp = System.getProperty("basedir");
+ if (tmp != null) {
+ dir = new File(tmp);
+ } else {
+ // Find the directory which this class (or really the sub-class of TestSupport) is defined in.
+ String path = AbstractTest.class.getProtectionDomain().getCodeSource().getLocation().getFile();
+
+ // We expect the file to be in target/test-classes, so go up 2 dirs
+ dir = new File(path).getParentFile().getParentFile();
+
+ // Set ${basedir} which is needed by logging to initialize
+ System.setProperty("basedir", dir.getPath());
+ }
+
+ return dir;
+ }
+
+ class TestCallback implements AsyncHttpClientCallback {
+
+ private volatile boolean timeout;
+ private volatile boolean closed;
+ private volatile boolean exception;
+ private volatile Throwable throwable;
+ private volatile HttpResponseMessage message;
+ private final CountDownLatch complete = new CountDownLatch(1);
+
+ public TestCallback() {
+ clear();
+ }
+
+ public void onResponse(HttpResponseMessage response) {
+ this.message = response;
+ complete.countDown();
+ }
+
+ public void onException(Throwable cause) {
+ throwable = cause;
+ exception = true;
+ complete.countDown();
+ cause.printStackTrace();
+ }
+
+ public void onClosed() {
+ closed = true;
+ System.out.println("onClosed()");
+ }
+
+ public void onTimeout() {
+ timeout = true;
+ complete.countDown();
+ }
+
+ public Throwable getThrowable() {
+ return throwable;
+ }
+
+ public void clear() {
+ closed = false;
+ timeout = false;
+ exception = false;
+ message = null;
+ }
+
+ public boolean isClosed() {
+ return closed;
+ }
+
+ public void setClosed(boolean closed) {
+ this.closed = closed;
+ }
+
+ public boolean isTimeout() {
+ return timeout;
+ }
+
+ public boolean isException() {
+ return exception;
+ }
+
+ public void setException(boolean exception) {
+ this.exception = exception;
+ }
+
+ public HttpResponseMessage getMessage() {
+ return message;
+ }
+
+ public void setMessage(HttpResponseMessage message) {
+ this.message = message;
+ }
+
+ public void await(int timeout, TimeUnit unit) throws InterruptedException {
+ complete.await(timeout, unit);
+ }
+ }
+}
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AbstractTest.java
------------------------------------------------------------------------------
svn:mime-type = text/x-java
Added: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java Sun Dec 30 03:36:47 2007
@@ -0,0 +1,157 @@
+/*
+ * 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
+ *
+ * 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.ahc;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.ahc.codec.HttpRequestMessage;
+import org.apache.ahc.codec.HttpResponseMessage;
+
+public class AsyncHttpClientTest extends AbstractTest {
+
+
+ public void testHtmlConnection() throws Exception {
+ TestCallback callback = new TestCallback();
+ doGetConnection(callback, "http://localhost:8282/", false, true);
+
+ HttpResponseMessage msg = callback.getMessage();
+ assertEquals("\nHello World!", msg.getStringContent());
+ }
+
+ public void testSSLHtmlConnection() throws Exception {
+ TestCallback callback = new TestCallback();
+ doGetConnection(callback, "https://localhost:8383/", false, true);
+
+ HttpResponseMessage msg = callback.getMessage();
+ assertEquals("\nHello World!", msg.getStringContent());
+ }
+
+ public void testRedirect() throws Exception {
+ TestCallback callback = new TestCallback();
+
+ //Test that we are following redirects
+ doGetConnection(callback, "http://localhost:8282/redirect.jsp", false, true);
+
+ HttpResponseMessage msg = callback.getMessage();
+ assertEquals("\nHello World!", msg.getStringContent());
+
+ //Test that we are not following redirects
+ callback = new TestCallback();
+ doGetConnection(callback, "http://localhost:8282/redirect.jsp", false, false);
+
+ msg = callback.getMessage();
+ assertEquals(302, msg.getStatusCode());
+ assertEquals(msg.getLocation(), "http://localhost:8282/index.jsp");
+ }
+
+ public void testBinaryRequest() throws Exception {
+
+ //Get the real file
+ File file = new File(ROOT, "pwrd_apache.gif");
+ FileInputStream fis = new FileInputStream(file);
+ byte realFile[] = new byte[(int)file.length()];
+ fis.read(realFile);
+
+ TestCallback callback = new TestCallback();
+ doGetConnection(callback, "http://localhost:8282/pwrd_apache.gif", false, true);
+
+ HttpResponseMessage msg = callback.getMessage();
+
+ assertTrue(Arrays.equals(realFile, msg.getContent()));
+ }
+
+ public void testSSLBinaryRequest() throws Exception {
+
+ //Get the real file
+ File file = new File(ROOT, "pwrd_apache.gif");
+ FileInputStream fis = new FileInputStream(file);
+ byte realFile[] = new byte[(int)file.length()];
+ fis.read(realFile);
+
+ TestCallback callback = new TestCallback();
+ doGetConnection(callback, "https://localhost:8383/pwrd_apache.gif", false, true);
+
+ HttpResponseMessage msg = callback.getMessage();
+
+ assertTrue(Arrays.equals(realFile, msg.getContent()));
+ }
+
+ public void testGetParameters() throws Exception {
+ TestCallback callback = new TestCallback();
+ doGetConnection(callback, "http://localhost:8282/params.jsp", false, true);
+
+ HttpResponseMessage msg = callback.getMessage();
+ assertEquals("Test One Test Two", msg.getStringContent());
+ }
+
+ public void testPostParameters() throws Exception {
+ TestCallback callback = new TestCallback();
+ doPostConnection(callback, "http://localhost:8282/params.jsp", false);
+
+ HttpResponseMessage msg = callback.getMessage();
+ assertEquals("Test One Test Two", msg.getStringContent());
+ }
+
+ private void doGetConnection(TestCallback callback, String url,
+ boolean testForException, boolean followRedirects)
+ throws Exception {
+ HttpRequestMessage request = new HttpRequestMessage(new URL(url), callback);
+ request.setFollowRedirects(followRedirects);
+
+ request.setParameter("TEST1", "Test One");
+ request.setParameter("TEST2", "Test Two");
+ doConnection(request, false, callback);
+ }
+
+ private void doPostConnection(TestCallback callback, String url, boolean testForException)
+ throws Exception {
+ HttpRequestMessage request = new HttpRequestMessage(new URL(url), callback);
+ request.setParameter("TEST1", "Test One");
+ request.setParameter("TEST2", "Test Two");
+ request.setRequestMethod(HttpRequestMessage.REQUEST_POST);
+ doConnection(request, false, callback);
+ }
+
+ private void doConnection(HttpRequestMessage request,
+ boolean testForException,
+ TestCallback callback) throws Exception {
+ AsyncHttpClient ahc = new AsyncHttpClient();
+ ahc.setTcpNoDelay(true);
+
+ ahc.sendRequest(request);
+
+ //We are done...Thread would normally end...
+ //So this little wait simulates the thread going back in the pool
+ //5 second timeout due to no response
+ callback.await(5, TimeUnit.SECONDS);
+
+ if (!testForException) {
+ if (((TestCallback)request.getCallback()).isException()) {
+ throw new Exception(((TestCallback)request.getCallback()).getThrowable());
+ }
+ }
+
+ }
+
+}
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientTest.java
------------------------------------------------------------------------------
svn:mime-type = text/x-java
Added: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java?rev=607542&view=auto
==============================================================================
--- geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java (added)
+++ geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java Sun Dec 30 03:36:47 2007
@@ -0,0 +1,129 @@
+/*
+ * 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
+ *
+ * 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.ahc;
+
+import java.net.URL;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Future;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import org.apache.ahc.codec.HttpRequestMessage;
+import org.apache.ahc.codec.HttpResponseMessage;
+import org.apache.ahc.codec.ResponseFuture;
+
+public class AsyncHttpClientWithFutureTest extends AbstractTest {
+ public void testHtmlRequest() throws Exception {
+ Future<HttpResponseMessage> future = submitGetRequest("http://localhost:8282/", true, null);
+
+ HttpResponseMessage msg = future.get();
+ assertEquals("\nHello World!", msg.getStringContent());
+ }
+
+ public void testSSLHtmlRequest() throws Exception {
+ Future<HttpResponseMessage> future = submitGetRequest("https://localhost:8383/", true, null);
+
+ HttpResponseMessage msg = future.get();
+ assertEquals("\nHello World!", msg.getStringContent());
+ }
+
+ public void testMultipleRequests() throws Exception {
+ BlockingQueue<ResponseFuture> completionQueue =
+ new LinkedBlockingQueue<ResponseFuture>();
+
+ // fire two HTTP requests on the same queue
+ submitGetRequest("http://localhost:8282/", true, completionQueue);
+ submitGetRequest("http://localhost:8282/params.jsp", true, completionQueue);
+
+ // check the results
+ for (int i = 0; i < 2; i++) {
+ // we don't know which one will complete first
+ ResponseFuture future = completionQueue.take(); // this blocks
+ String content = future.get().getStringContent();
+ String url = future.getRequest().getUrl().toString();
+ if (url.equals("http://localhost:8282/")) {
+ assertEquals("\nHello World!", content);
+ } else {
+ assertEquals("Test One Test Two", content);
+ }
+ }
+ // the fact we reach here is a success
+ assertTrue(true);
+ }
+
+ public void testRedirect() throws Exception {
+ //Test that we are following redirects
+ Future<HttpResponseMessage> future = submitGetRequest("http://localhost:8282/redirect.jsp", true, null);
+
+ HttpResponseMessage msg = future.get();
+ assertEquals("\nHello World!", msg.getStringContent());
+
+ //Test that we are not following redirects
+ future = submitGetRequest("http://localhost:8282/redirect.jsp", false, null);
+
+ msg = future.get();
+ assertEquals(302, msg.getStatusCode());
+ assertEquals(msg.getLocation(), "http://localhost:8282/index.jsp");
+ }
+
+ public void testGetParameters() throws Exception {
+ Future<HttpResponseMessage> future =
+ submitGetRequest("http://localhost:8282/params.jsp", true, null);
+
+ HttpResponseMessage msg = future.get();
+ assertEquals("Test One Test Two", msg.getStringContent());
+ }
+
+ public void testPostParameters() throws Exception {
+ Future<HttpResponseMessage> future = submitPostRequest("http://localhost:8282/params.jsp", null);
+
+ HttpResponseMessage msg = future.get();
+ assertEquals("Test One Test Two", msg.getStringContent());
+ }
+
+ private Future<HttpResponseMessage> submitGetRequest(String url,
+ boolean followRedirects,
+ BlockingQueue<ResponseFuture> queue)
+ throws Exception {
+ HttpRequestMessage request = new HttpRequestMessage(new URL(url), null);
+ request.setFollowRedirects(followRedirects);
+
+ request.setParameter("TEST1", "Test One");
+ request.setParameter("TEST2", "Test Two");
+ return submitRequest(request, queue);
+ }
+
+ private Future<HttpResponseMessage> submitPostRequest(String url,
+ BlockingQueue<ResponseFuture> queue)
+ throws Exception {
+ HttpRequestMessage request = new HttpRequestMessage(new URL(url), null);
+ request.setParameter("TEST1", "Test One");
+ request.setParameter("TEST2", "Test Two");
+ request.setRequestMethod(HttpRequestMessage.REQUEST_POST);
+ return submitRequest(request, queue);
+ }
+
+ private Future<HttpResponseMessage> submitRequest(HttpRequestMessage request,
+ BlockingQueue<ResponseFuture> queue)
+ throws Exception {
+ AsyncHttpClient ahc = new AsyncHttpClient();
+ ahc.setTcpNoDelay(true);
+ return ahc.sendRequest(request, queue);
+ }
+}
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: geronimo/sandbox/async-http-client-mina2/src/test/java/org/apache/ahc/AsyncHttpClientWithFutureTest.java
------------------------------------------------------------------------------
svn:mime-type = text/x-java