Cross platform filtering HTTP/S proxy based on .NET Standard 2.0.
Ensure that we copy response headers only once. It appears that response headers related to content can vanish after we've read the content stream, so to avoid this, we read just once on initial response.
Fixes an issue where the Headers property of HttpMessageInfo objects can be null, which causes null reference exceptions when calling various methods. Changed to always initialize this property with a valid reference, and to perform null checks when accessing internally.
HttpMessageInfo
was not being set.Adds the ability to exclude headers from being excluded. Normally forbidden headers are stripped, but now the user can control this.
Adds the ability to configure the proxy server in regards to dropping external proxy packets (originating from another proxy on the local machine).
Adds the ability to provide a custom message handler for all proxy server upstream connections. This enables you to define an upstream proxy, etc.
Fixes an issue where the host header is not set correctly on modification.
Purges singlestons from the source code. Handlers are now instance members of proxy server classes via hidden IStartup instances.