On Mar 24, 2008, at 4:54 PM, Chris Hostetter wrote:
: Log:
: Incorporate the prefixPath, if configured, on the forwards

this doesn't really seem like the correct usage of prefixPath .. it's
suppose to be set to whatever the SolrDispatchFIlter is configured to
intercept, not a generic webapp name ... with this change, won't
SolrDispatchFilter constantly forward to itself?

Gimme a firinstance here.

For my use case, I'm basically building a web application that "embeds" Solr in that a standard Java web application with /solr mapped in like this:

  <filter>
    <filter-name>SolrRequestFilter</filter-name>
<filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter- class>
    <init-param>
      <param-name>path-prefix</param-name>
      <param-value>/solr</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>SolrRequestFilter</filter-name>
    <url-pattern>/solr/*</url-pattern>
  </filter-mapping>

The code change affects only a multicore configuration of /admin requests:

            if( singlecore == null && path.startsWith( "/admin" ) ) {
req.getRequestDispatcher( pathPrefix == null ? path : pathPrefix + path ).forward( request, response );
              return;
             }

Going to /solr/admin/stats.jsp, it was intercepting and forwarding to /admin/stats.jsp which is a 404. _info.jsp can leverage a default core in a multicore configuration and let the old (non-core prefixed) paths work fine, but the forwarding wasn't taking into account /solr being mapped via web.xml rather than a webapps/solr.war application root context.

Cool?   If there is a loophole I'm missing I'll happily fix it up.

        Erik




: Modified: lucene/solr/trunk/src/webapp/src/org/apache/solr/ servlet/SolrDispatchFilter.java : URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/webapp/ src/org/apache/solr/servlet/SolrDispatchFilter.java? rev=640449&r1=640448&r2=640449&view=diff : ====================================================================== ======== : --- lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/ SolrDispatchFilter.java (original) : +++ lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/ SolrDispatchFilter.java Mon Mar 24 08:53:46 2008
: @@ -304,7 +304,7 @@
:              req.setAttribute("org.apache.solr.SolrCore", core);
: // Modify the request so each core gets its own / admin : if( singlecore == null && path.startsWith( "/ admin" ) ) { : - req.getRequestDispatcher( path ).forward( request, response ); : + req.getRequestDispatcher( pathPrefix == null ? path : pathPrefix + path ).forward( request, response );
:                return;
:              }
:            }
:
:



-Hoss

Reply via email to