Filter Descriptions

[Console][Filter Controls][Filter Descriptions]

surfboard.filter.ThresholdLoadBalance: This is a body filter that meters bandwidth by suspending all transfers larger than a threshold (200K) until all shorter transfers have completed. It can be used in either direction.

surfboard.filter.Profiler: This is a header filter that inserts timing information in all requests that pass through it. It should be used in conjunction with the ProfileBody filter. It should only be used as an outbound filter.

surfboard.filter.DaisychainFilter: This is a header filter that allows another proxy to be used downstream. It should only be used as an inbound filter.

surfboard.filter.StreamFilter: This is used internally to read Connection: close and keep-alive types of data streams, and should never be inserted manually.

surfboard.filter.NewsBannerFilter: This is a body filter that replaces 468x60 banner ads with current news headlines. It should only be used as an outbound filter.

surfboard.filter.ChunkedReader: This is used internally to read HTTP 1.1 Chunked-Transfer encoded bodies. It should NOT be explicitly configured or inserted.

surfboard.filter.LoadMeter: This is a body filter that monitors all traffic going through it, for the use of tools like uConsole. It is recommended that this be installed in both directions.

surfboard.filter.ProfileBody: This is a body filter that displays timing information regarding all responses that pass through it. It must be used in conjunction with the Profiler filter. It should only be used as an outbound filter.

surfboard.filter.RawSource: This is a body filter that writes the contents of any text/html bodies to a text file. The file will be named raw-source-#.html, in which # ranges from 0 to 9. This is useful for debugging filters, especially when added ahead and after the filter. After viewing a page, the two most recent raw-source-#.html files can be diffed to see what exactly the filter changed. This filter can be used (multiple times) in either direction.

surfboard.filter.CacheRemover: This is a header filter that removes If-Modified-Since header fields from HTTP requests, which has the effect of negating the use of cache (occasionally useful for debugging websites). This only works if your browser is set to check "each time" instead of "once per session". It should only be used as an inbound filter.

surfboard.filter.DebugHeaderFilter: This writes debug information for each header that passes through it. It can be used in either direction.

surfboard.filter.CookieRemover: This is a header filter that removes Cookie header fields from HTTP requests, which prevents your browser from sending cookies (cookies will still be received as usual). This is not recommended since many sites will not work correctly without cookies enabled. However, it may be used in conjunction with wmFilter to manually disable this filter on websites that specifically need cookies. It should only be used as an inbound filter.

surfboard.filter.BlockLoadBalance: This filter meters traffic on a block-by-block basis. Before any block of data of data is processed, it is delayed until all shorter-length transfers have completed. This filter is not recommended - ThresholdLoadBalance is the recommended filter to use for bandwidth metering. This can be used in either direction.

surfboard.filter.LoadBalance: This meters traffic by suspending body transfers until all shorter-length transfers have completed. This is not recommended -- ThresholdLoadBalance is the recommended filter to use for bandwidth metering. It can be used in either direction.

surfboard.filter.EncodingRemover: This is a header filter that removes Accept-Encoding fields from requests. This must be used anytime the response is going to be treated as clear text rather than binary gzip data, as is the case when RawSource or NewsBannerFilter are used. It should only be used as an inbound filter.

surfboard.filter.CaptureHeader: This is the portion of the session-capture framework that records entity headers. It works in conjunction with surfboard.util.Capture and surfboard.filter.CaptureBody. This class records responses from web servers, which is fed to Capture for the creation of a session script. This filter should be installed in the outbound direction.

surfboard.filter.CaptureBody: This is the portion of the session-capture framework that records entity bodies. It works in conjunction with surfboard.util.Capture and surfboard.filter.CaptureHeader. This class serves two purposes: in the inbound direction, it records form posts. In the outbound direction, it records HTML documents as they are returned. These are then examined (in Capture) for the URL of the subsequent page visited; if found, a regular expression will be included in the session file. This is done so that URLs containing session tokens, etc, can be automatically followed in Playback. This filter should be installed in both directions.

surfboard.filter.DownloadFilter: This is an aborting header filter. It aborts any downloadable transfers and copies the source URL to the clipboard. The original transfer is replaced with a message indicating the transfer will occur outside the browser. This is done to support external download clients like nt, the downloader for X. This should be be used in the outbound direction.

surfboard.filter.IFrameBannerFilter: This is a body filter that replaces 468x60 banner ads with current news headlines displayed in an iframe. It should only be used as an outbound filter.

surfboard.filter.AppletBannerFilter: This is a body filter that replaces 468x60 banner ads with current news headlines displayed in an applet. It should only be used as an outbound filter.