Author: woonsan
Date: Wed Dec 24 13:48:14 2014
New Revision: 1647784

URL: http://svn.apache.org/r1647784
Log:
APA-67: adding a subsection to explain how to extend the default reverse proxy 
services

Modified:
    portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml

Modified: 
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml
URL: 
http://svn.apache.org/viewvc/portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml?rev=1647784&r1=1647783&r2=1647784&view=diff
==============================================================================
--- 
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml 
(original)
+++ 
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml 
Wed Dec 24 13:48:14 2014
@@ -51,6 +51,10 @@
     </dependency>
           ]]></source>
         </p>
+        <p>
+          For more information on developing/testing,
+          see <a 
href="https://svn.apache.org/repos/asf/portals/applications/webcontent/trunk/README";
 target="_blank">README</a> file.
+        </p>
       </subsection>
 
       <subsection name="SimpleReverseProxyServlet">
@@ -332,6 +336,28 @@ contentRewriters:
         </p>
       </subsection>
 
+      <subsection name="Extending the Default Reverse Proxy Service">
+        <p>
+          In order to maximize the extensibility, Reverse Proxy Module is 
implemented with
+          the <a 
href="http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern"; 
target="_blank">Chain of Responsibility pattern</a>
+          by using <a href="http://commons.apache.org/proper/commons-chain/"; 
target="_blank">Apache Commons Chains</a> module.
+        </p>
+        <p>
+          By default, 
<code>org.apache.portals.applications.webcontent2.proxy.builder.DefaultProxyProcessingChainBuilder</code>
+          initializes and adds all the common commands to the internal reverse 
proxy service component.
+          However, you can always modify the chains of the commands in your 
extended servlet/filter/portlet classes.
+        </p>
+        <p>
+          For example, <a 
href="https://svn.apache.org/repos/asf/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyServlet.java";
 target="_blank">org.apache.jetspeed.portlets.sso.SSOReverseProxyServlet</a> in 
j2-admin project
+          extends 
<code>org.apache.portals.applications.webcontent2.proxy.servlet.SimpleReverseProxyServlet</code>
+          in order to replace the default 
<code>org.apache.portals.applications.webcontent2.proxy.command.InitHttpRequestCommand</code>
+          by 
<code>org.apache.jetspeed.portlets.sso.SSOInitHttpRequestCommand</code>.
+          Also, <code>SSOReverseProxyServlet</code> customizes the default 
<code>HttpClientContextBuilder</code> by a custom one,
+          <code>JetspeedHttpClientContextBuilder</code>, in order to build 
custom authentication states
+          based on the Jetspeed SSO Site credentials.
+        </p>
+      </subsection>
+
     </section>
 
   </body>


Reply via email to