Greg Wilkins
Greg Wilkins
@joakime > That will return on the input path `/rest/api/users/ver-1/groupfoo/baruser` : > > * contextPath = `api/users` > * pathInContext = `groupfoo/baruser` > > I added this example to the...
I've tagged this for 12.1.x. Please rebase.
It is possible for use to capture a timestamp of the very first select that relates to a request (ie as parsing is started). The HTTP parser could then check...
I can see a problem with this new approach.... ah but it also affects our current approach. Ah but my idea for fix will solve both problems: Consider receiving chunked...
@sbordet Consider the following: + Data rate is set to 100 bytes per second. + The first read blocks for 10 seconds, + Data arrives that is a 1 bytes...
With regards to gzip/transformations, I think we should check raw bytes. So I propose that we check data rate of raw_bytes/total_time only before we block or schedule an async callback.
@sbordet but it didn't receive 1 bytes. The client sent 1001 bytes plus chunking framing. It was just an artefact of the transport framing and our implementation that does not...
Also note that we need to protect the initial read from short times as it will be very chaotic. Also probably reset the total time if a 100 continues is...
@sbordet That is indeed a problem, but I think it is a small one. Essentially if the application is not reading fast enough so the pipe congests and then doesn't...
I believe I convinced simone on a hangout of the approach I'm suggesting (checking total_data/total_time only when about to block), but for completeness I'll respond to his comment above. This...