You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@portals.apache.org by wo...@apache.org on 2014/12/24 14:48:14 UTC

svn commit: r1647784 - /portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml

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>