private boolean processResource ( ApplicationRequest appRequest , ApplicationResponse appResponse ) throws IOException { // get the associated system path String requestURI = null ; if ( ( requestURI = appRequest . getPathInfo ( ) ) == null ) { String context = appRequest . getContextPath ( ) ; requestURI = appRequest . getRequestURI ( ) ; if ( requestURI . startsWith ( context ) ) { requestURI = requestURI . substring ( context . length ( ) ) ; } } // check for valid asset Asset asset = getEngine ( ) . getAssetEngine ( ) . getAsset ( requestURI ) ; if ( asset == null ) { return false ; } // set mime type appResponse . setContentType ( asset . getMimeType ( ) ) ; // write contents int read = - 1 ; byte [ ] contents = new byte [ 1024 ] ; InputStream input = asset . getInputStream ( ) ; ServletOutputStream output = appResponse . getOutputStream ( ) ; while ( ( read = input . read ( contents ) ) >= 0 ) { output . write ( contents , 0 , read ) ; } // complete response appResponse . finish ( ) ; // success return true ; }
Inserts a plugin to expose parts of the teaservlet via the EngineAccess interface .