protected String getScriptUri ( HttpServletRequest request ) { /* * Log some debug information for https://issues.apache.org/jira/browse/GROOVY-861 */ if ( logGROOVY861 ) { log ( "Logging request class and its class loader:" ) ; log ( " c = request.getClass() :\"" + request . getClass ( ) + "\"" ) ; log ( " l = c.getClassLoader() :\"" + request . getClass ( ) . getClassLoader ( ) + "\"" ) ; log ( " l.getClass() :\"" + request . getClass ( ) . getClassLoader ( ) . getClass ( ) + "\"" ) ; /* * Keep logging, if we're verbose. Else turn it off. */ logGROOVY861 = verbose ; } // // NOTE: This piece of code is heavily inspired by Apaches Jasper2! // // http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-jasper/jasper2/ \ // src/share/org/apache/jasper/servlet/JspServlet.java?view=markup // // Why doesn't it use request.getRequestURI() or INC_REQUEST_URI? // String uri = null ; String info = null ; // // Check to see if the requested script/template source file has been the // target of a RequestDispatcher.include(). // uri = ( String ) request . getAttribute ( INC_SERVLET_PATH ) ; if ( uri != null ) { // // Requested script/template file has been target of // RequestDispatcher.include(). Its path is assembled from the relevant // javax.servlet.include.* request attributes and returned! // info = ( String ) request . getAttribute ( INC_PATH_INFO ) ; if ( info != null ) { uri += info ; } return applyResourceNameMatcher ( uri ) ; } // // Requested script/template file has not been the target of a // RequestDispatcher.include(). Reconstruct its path from the request's // getServletPath() and getPathInfo() results. // uri = request . getServletPath ( ) ; info = request . getPathInfo ( ) ; if ( info != null ) { uri += info ; } /* * TODO : Enable auto ".groovy" extension replacing here! * http://cvs.groovy.codehaus.org/viewrep/groovy/groovy/groovy-core/src/main/groovy/servlet/GroovyServlet.java?r=1.10#l259 */ return applyResourceNameMatcher ( uri ) ; }
Returns the include - aware uri of the script or template file .