v0.9.1-beta.1 Kestrel interception proxy #46
svrooij
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This release is the very first release of the completely rewritten web proxy. After having issue after issue for days. Solved one, two new issues appeared. I was stuck on a road to nowhere.
I then pointed my eyes at Kestrel (you know the low-level http(s) server after dotnet). With some proxy specifications at hand, I managed to built a WAY less complex http proxy. That is also blazing fast.
During the design of this rewrite I kept the reboot ideas in mind, and I think I ticked all the boxes.
💥 everything changed, your code is definitely broken 💣
Check-out the worker example, to get a feeling for the new api.
In short, you now have 3 points where you can influence the proxy:
There are some interfaces, with default implementations if not implemented yourself. All http traffic is intercepted by default (because it does not really matter). For https traffic you’re able to decide whether or not to intercept the traffic.
Https passthrough will just forward the request as is, without touching the ssl stream.
Reboot focus
net8.0
only (no support for older versions of .NET!)ILogger
See #4ActivitySource
andActivity
See #3Span<T>
andMemory<T>
to improve performanceTLS 1.2
andTLS 1.3
only supportHttpRequestMessage
andHttpResponseMessage
, to greatly improve the portability of the library See #6HttpClient
as the default client, and using the IHttpClientFactory to handle pooling of the clientsFull Changelog: v0.9.0-beta.1...v0.9.1-beta.1
This discussion was created from the release v0.9.1-beta.1 Full rewrite to kestrel.
Beta Was this translation helpful? Give feedback.
All reactions