Exemplo n.º 1
0
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
      throws IOException, ServletException {
    if (!(request instanceof HttpServletRequest)) {
      throw new ServletException(
          this.getClass().getSimpleName() + " can only handle HTTP requests.");
    }
    HttpServletRequest httpRequest = (HttpServletRequest) request;

    BladerunnerUri bladerunnerUri = servletUtils.createBladeRunnerUri(servletContext, httpRequest);
    boolean brjsPluginCanHandleRequest =
        servletUtils.getContentPluginForRequest(bladerunnerUri) != null;

    if (brjsPluginCanHandleRequest && !BladerunnerUri.isBrjsUriRequest(httpRequest)) {
      request
          .getRequestDispatcher("/brjs" + httpRequest.getRequestURI())
          .forward(httpRequest, response);
    } else {
      chain.doFilter(httpRequest, response);
    }
  }