ISAPI Filters and HTTP Headers (Compact 2013)
3/26/2014
The web server supports only a subset of the functionality that is offered by IIS for HTTP header management.
On an SF_NOTIFY_PREPROC_HEADERS flag event, both the AddHeader and SetHeader functions only modify the method, URI, and HTTP version values in the simple request line.
On an SF_NOTIFY_SEND_RESPONSE flag event, the AddHeader and SetHeader functions operate differently on the web server. On IIS, filters may delete the lpszName value if it has been set to \0 by lpszValue on a call to the SetHeader or AddHeader function. IIS also allows existing response headers to be overwritten with a call to the SetHeader function, with the new value in lpszValue. The web server has no support for either of these options. After a new header name and value pair have been added with the SetHeader or AddHeader function, it cannot be deleted or overwritten.
When converting headers that are added with the AddHeader or SetHeader function into raw HTTP headers, the web server adds a space between the lpszName and lspzValue values and adds a trailing \r\n to the end of each header pair. However, it does not add a colon to the end of the lpszName value.
Note
The web server ISAPI filter implementation cannot change the read size of data on POST requests; the read size is fixed at 48 KB. Any block of incoming data that is larger than the read size is read into a buffer.