When using TIdHTTPProxyServer
, you can modify HTTP headers for GET
/POST
/HEAD
requests only, in the following events:
OnHTTPBeforeCommand
event (client headers)
OnHTTPResponse
event (server headers)
OnHTTPDocument
event (client or server headers, depending on the TIdHTTPProxyServerContext.TransferSource
property) when the proxy's DefaultTransferMode
property is set to tmFullDocument
.
The headers are stored in the Headers
property of the TIdHTTPProxyServerContext
object provided to each event.
For example, using the OnHTTPResponse
event, you can easily remove an X-Frame-Options
header, eg:
procedure TMyForm.IdHTTPProxyServer1HTTPResponse(AContext: TIdHTTPProxyServerContext);
var
I: Integer;
begin
I := AContext.Headers.IndexOfName('X-Frame-Options');
if I <> -1 then
AContext.Headers.Delete(I);
end;
Or:
procedure TMyForm.IdHTTPProxyServer1HTTPResponse(AContext: TIdHTTPProxyServerContext);
begin
AContext.Headers.Values['X-Frame-Options'] := '';
end;