As the main filter, you can use the OnHTTPBeforeCommand event handler (which runs before sending the command to the HTTP server).
Inspect the properties of the Context parameter, you will find it useful:
Context.Command
Context.OutboundClient.Host
Context.OutboundClient.Port
Context.Document
Context.Headers
I have never tried to stop PassTrough at this time, but I am sure you can do this by simply throwing an exception at this point if you define a matching block rule there.