How do I configure ICAP to filter different workflows based on request headers?
MetaDefender ICAP supports workflow filtering based on request headers. It is possible to fine-tune ICAP’s workflow, by configuring the proxy to add request headers and utilize ICAP’s *request filter *for those added headers.
In practice, you can customize the request headers inserted by the proxy, and the corresponding request filter in ICAP’s workflow settings, depending on your specific use case.
Take the below example, the proxy is configured to insert an additional header (based on file size), and MetaDefender ICAP is configured to filter different workflows (based on the value of the inserted header):
- Default workflow for all data → Default workflow in MD Core
- Header for small files → Workflow dedicated to handle small files in MD Core
- Header for big files → Workflow dedicated to handle big files in MD Core
Example
It is possible to configure the proxy and ICAP’s request filter following the outline below:
- In ICAP, create 3 workflows:
- Small → The server profile has a Core with small files workflow.
- Large →The server profile has a Core with big files workflow.
- Default

In each workflow, you can add the HTTP Header filter corresponding workflow name
- For example: using a custom header “ICAPWorkflow” with values “small” and “large” (but you can use any header as needed).


- When the request has the “ICAPWorkflow” HTTP header (you can use the backend server, reverse proxy server, or anything else to insert it) with the value:
- “small” → Will be processed by ICAP server’s small workflow → Send to MD Core small workflow.
- “large” → Will be processed by ICAP server’s large workflow → Send to MD Core large workflow.
For further assistance regarding Configure MetaDefender ICAP to use different workflows based on file size, please create a support case or chat with our support engineer.