Contact Factory


Traffic Spicer is a bare-bones ICAP server, implementing RFC 3507 and its errata. Spicer uses custom adaptation modules to perform specific traffic manipulations.

Spicer has been designed for companies that are either developing a new traffic adaptation service or would like to hook their existing ICAP-unaware service with popular web proxies. In either case, Spicer users can focus on their core business and avoid most of the costs and headaches associated with developing and maintaining a new ICAP server.

Deployment and compatibility

Spicer handles ICAP requests from HTTP proxies or other ICAP clients. Most ICAP requests contain an encapsulated HTTP message. Using an adaptation module, Spicer analyses the HTTP message and possibly blocks or modifies it, returning the result to the ICAP client (using appropriate ICAP optimizations whenever possible).

Without an adaptation module, Spicer always returns the original HTTP message unmodified.

Spicer can be used for HTTP message logging and blocking (e.g., URL filters or information leak detectors), redirection (e.g., mirrors or site wrappers), and adaptation (e.g., ad insertion or error message customization).

Spicer is known to work with popular proxy caches such as Bluecoat, Squid, and NetCache. Spicer should work with any proxy that supports ICAP.

Adaptation modules

An adaptation module (a.k.a., adapter or plugin) is a piece of code that performs custom adaptations of ICAP-encapsulated HTTP messages, under Spicer supervision. An adapter is what makes Spicer perform such adaptations as blocking viruses, redirecting HTTP messages, or formatting content to fit end-user's rendering device.

Adapters are implemented as dynamically loaded shared libraries. During start-up Spicer loads and activates the adapter. HTTP proxy settings, Spicer configuration, and the adapter code control which HTTP messages the adapter receives for analysis and adaptation.

Adapters are usually written in C++, using a simple API.


Major Traffic Spicer and adapter API features include:

  • Works with popular HTTP proxies.
  • Isolates traffic adaptation logic from ICAP handling details.
  • Supports request modification, request satisfaction, and response modification.
  • Supports ICAP Preview, 204s outside of Preview, and early responses.
  • Supports dynamic reconfiguration.
  • Automates ISTag generation.
  • Supports configurable ICAP OPTIONS responses.
  • Supports configurable blocking or redirecting HTTP messages.
  • Integrates Spicer and adapter configuration.

Traffic Spicer is written in C++ and works on Linux, FreeBSD, and other Unix OSes. A Microsoft Windows port is possible.


The Measurement Factory maintains Traffic Spicer and works with clients to develop and maintain custom adapters. Clients usually get full, perpetual access to Spicer sources and own their adapter code.

Building on top of the existing Spicer framework, Factory developers deliver a reliable, cost-effective, and supported ICAP server with client-specific functionality. Developing a complex adapter may take months, but a working prototype, suitable for demonstrating and validating the technology, can usually be written in a week or two. We are usually able to accommodate rush orders.

ICAP is a poorly documented and inconsistently implemented protocol. With direct access to ICAP experts, Factory clients benefit from years of Spicer compatibility work as well as Spicer APIs that isolate client-specific adaptation logic from ICAP idiosyncrasies.

We would love to build your ICAP server! Please contact us for more information.

© 2007 The Measurement Factory.