DontCacheFilter (RabbIT/4)
Date: 2009-10-13

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rabbit.filter
Class DontCacheFilter

    java.lang.Object
      rabbit.filter.DontCacheFilter

All Implemented Interfaces:
  HttpFilter

    public class DontCacheFilter

extends Object
implements HttpFilter

This is a class that makes sure the proxy doesnt caches certain pages. It features two types of filtering: either on the URL or the mime type.

URL based matching.
It uses the config option `dontCacheURLmatching` with a default value of the empty string. This value is a regex.
This method should be used on requests, that is append this class to `httpinfilters` in `rabbit.conf` to use URL matching.

Mime type based matching.
It uses the config option `dontCacheMimematching` with a default value of the empty string. This value is a regexp.
This method should be used on responses, that is append this class to `httpoutfilters` in `rabbit.conf` to use mime type matching.

Author:
  Robert Olofsson

Constructor Summary
`DontCacheFilter()` Create a new DontCacheFilter.

Method Summary
`HttpHeader` | `doHttpInFiltering(SocketChannel socket, HttpHeader header, Connection con)` Test if a socket/header combination is valid or return a new HttpHeader.
`HttpHeader` | `doHttpOutFiltering(SocketChannel socket, HttpHeader header, Connection con)` Test if a socket/header combination is valid or return a new HttpHeader.
`void` | `setup(SProperties properties)` Setup this class with the given properties.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DontCacheFilter

    public DontCacheFilter()

  Create a new DontCacheFilter.

Method Detail

### doHttpInFiltering

    public HttpHeader doHttpInFiltering(SocketChannel socket,
                                        HttpHeader header,
                                        Connection con)

  Test if a socket/header combination is valid or return a new HttpHeader. If the request matches a certain criteria dont cache it. This filter is good for pages that done send cache-control headers correctly. This method uses the URL of the request to determine if the resource may be cached.

  Specified by:
    `doHttpInFiltering` in interface `HttpFilter`
  Parameters:
    `socket` - the SocketChannel that made the request.
    `header` - the actual request made.
    `con` - the Connection handling the request.
  Returns:
    This method always returns null.

### doHttpOutFiltering

    public HttpHeader doHttpOutFiltering(SocketChannel socket,
                                         HttpHeader header,
                                         Connection con)

  Test if a socket/header combination is valid or return a new HttpHeader. If the request matches a certain criteria dont cache it. This filter is good for pages that done send cache-control headers correctly. This method uses the mime type of the response to determine if the resource may be cached.

  Specified by:
    `doHttpOutFiltering` in interface `HttpFilter`
  Parameters:
    `socket` - the SocketChannel that made the request.
    `header` - the actual request made.
    `con` - the Connection handling the request.
  Returns:
    null

### setup

    public void setup(SProperties properties)

  Setup this class with the given properties.

  Specified by:
    `setup` in interface `HttpFilter`
  Parameters:
    `properties` - the new configuration of this class.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD