Interface Filter

    • Method Detail

      • shouldFilter

        boolean shouldFilter​(Request request,
                             MimeHeaders headers)
        Gives this Filter the chance to examine the HTTP response headers from the wrapped Handler, before the content has been retrieved.

        If this Filter does want to examine and possibly rewrite the content, it should return true; once the content is available, the filter method will be invoked. For instance, if this Filter is only interested in rewriting "text/html" pages, it should return false if the "Content-Type" is "image/jpeg". If all filters return false for the shouldFilter method, the FilterHandler can switch to a more effient mechanism of delivering content to the client.

        The MIME headers may also be modified by this Filter, for instance, to change the "Content-Type" of a web page. The "Content-Length" will automatically be computed.

        Parameters:
        request - The in-progress HTTP request.
        headers - The MIME headers generated by the wrapped Handler.
        Returns:
        true if this filter would like to examine and possibly rewrite the content, false otherwise.
      • filter

        byte[] filter​(Request request,
                      MimeHeaders headers,
                      byte[] content)
        Filters the content generated by the wrapped Handler. The content may be arbitrarily rewritten by this method.

        The MIME headers may also be modified by this Filter, for instance, to change the "Content-Type" of a web page. The "Content-Length" will automatically be computed by the FilterHandler.

        Parameters:
        request - The finished HTTP request.
        headers - The MIME headers generated by the Handler.
        content - The output from the Handler that this Filter may rewrite.
        Returns:
        The rewritten content. The Filter may return the original content unchanged. The Filter may return null to indicate that the FilterHandler should stop processing the request and should not return any content to the client.