c-icap-doc  0.1
Functions
ICAP client request API


API for implementing ICAP clients More...

Functions

int ci_client_icapfilter_nonblocking (ci_request_t *req, int io_action, ci_headers_list_t *req_headers, ci_headers_list_t *resp_headers, void *data_source, int(*source_read)(void *, char *, int), void *data_dest, int(*dest_write)(void *, char *, int))
 
Function to send HTTP objects to an ICAP server for processing. More...
 

Detailed Description


API for implementing ICAP clients

Function Documentation

◆ ci_client_icapfilter_nonblocking()

int ci_client_icapfilter_nonblocking ( ci_request_t req,
int  io_action,
ci_headers_list_t req_headers,
ci_headers_list_t resp_headers,
void *  data_source,
int(*)(void *, char *, int)  source_read,
void *  data_dest,
int(*)(void *, char *, int)  dest_write 
)


Function to send HTTP objects to an ICAP server for processing.

It sends the HTTP request headers, and the HTTP response from HTTP server (headers plus body data), and receives modified HTTP response headers and body data.

Parameters
reqThe ci_request_t object.
io_actionis a combination set of ci_wait_for_read and ci_wait_for_write flags. It has the meaning that the ci_client_icapfilter_nonblocking can read from or write to ICAP server.
req_headersThe HTTP request headers to use.
resp_headersThe HTTP response headers to use.
data_sourceUser data to use with source_read callback function.
source_readCallback function to use for reading HTTP object body data.
data_destUser data to use with dest_write callback function.
dest_writeCallback function to use for storing modified body data.
Returns
combination of the following flags: NEEDS_TO_READ_FROM_ICAP, NEEDS_TO_WRITE_TO_ICAP, NEEDS_TO_READ_USER_DATA and NEEDS_TO_WRITE_USER_DATA.