Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Re: Sending a largish POST request with --limit-rate delays receiving of small server response
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Fabian Keil via curl-library <curl-library_at_cool.haxx.se>
Date: Fri, 26 Mar 2021 15:29:08 +0100
Fabian Keil via curl-library <curl-library_at_cool.haxx.se> wrote on 2021-03-26:
> Daniel Stenberg <daniel_at_haxx.se> wrote on 2021-03-26:
>
> > On Fri, 26 Mar 2021, Fabian Keil via curl-library wrote:
> >
> > > Apparently the rate limit only kicks in after the request has been
> > > sent and as a result the (small) response is then received delayed.
>
> > Proposed fix: https://github.com/curl/curl/pull/6797
>
> Thanks for the quick fix.
Looks like there's a regression.
If the --limit-rate value is smaller than the CONNECT request
curl now hangs after the first write until Privoxy's connection
timeout is triggered:
fk_at_t520 ~ $~/git/curl/src/curl --trace - --trace-time --limit-rate 50 https://www.electrobsd.org/
15:26:14.242400 == Info: STATE: INIT => CONNECT handle 0x8030d3808; line 1634 (connection #-5000)
15:26:14.243155 == Info: Uses proxy env variable https_proxy == 'http://127.0.1.1:8118/'
15:26:14.243242 == Info: Added connection 0. The cache now contains 1 members
15:26:14.243301 == Info: family0 == v4, family1 == v6
15:26:14.243349 == Info: Trying 127.0.1.1:8118...
15:26:14.243521 == Info: STATE: CONNECT => CONNECTING handle 0x8030d3808; line 1695 (connection #0)
15:26:14.243755 == Info: Connected to 127.0.1.1 (127.0.1.1) port 8118 (#0)
15:26:14.243791 == Info: STATE: CONNECTING => TUNNELING handle 0x8030d3808; line 1825 (connection #0)
15:26:14.243819 == Info: allocate connect buffer!
15:26:14.243847 == Info: Establish HTTP proxy tunnel to www.electrobsd.org:443
15:26:14.243989 => Send header, 50 bytes (0x32)
0000: 43 4f 4e 4e 45 43 54 20 77 77 77 2e 65 6c 65 63 CONNECT www.elec
0010: 74 72 6f 62 73 64 2e 6f 72 67 3a 34 34 33 20 48 trobsd.org:443 H
0020: 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 77 TTP/1.1..Host: w
0030: 77 77 ww
15:26:34.318527 == Info: Proxy CONNECT aborted
15:26:34.318589 == Info: CONNECT phase completed!
15:26:34.318638 == Info: The cache now contains 0 members
15:26:34.318673 == Info: Closing connection 0
curl: (56) Proxy CONNECT aborted
Fabian
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.se/mail/etiquette.html
Received on 2021-03-26
Date: Fri, 26 Mar 2021 15:29:08 +0100
Fabian Keil via curl-library <curl-library_at_cool.haxx.se> wrote on 2021-03-26:
> Daniel Stenberg <daniel_at_haxx.se> wrote on 2021-03-26:
>
> > On Fri, 26 Mar 2021, Fabian Keil via curl-library wrote:
> >
> > > Apparently the rate limit only kicks in after the request has been
> > > sent and as a result the (small) response is then received delayed.
>
> > Proposed fix: https://github.com/curl/curl/pull/6797
>
> Thanks for the quick fix.
Looks like there's a regression.
If the --limit-rate value is smaller than the CONNECT request
curl now hangs after the first write until Privoxy's connection
timeout is triggered:
fk_at_t520 ~ $~/git/curl/src/curl --trace - --trace-time --limit-rate 50 https://www.electrobsd.org/
15:26:14.242400 == Info: STATE: INIT => CONNECT handle 0x8030d3808; line 1634 (connection #-5000)
15:26:14.243155 == Info: Uses proxy env variable https_proxy == 'http://127.0.1.1:8118/'
15:26:14.243242 == Info: Added connection 0. The cache now contains 1 members
15:26:14.243301 == Info: family0 == v4, family1 == v6
15:26:14.243349 == Info: Trying 127.0.1.1:8118...
15:26:14.243521 == Info: STATE: CONNECT => CONNECTING handle 0x8030d3808; line 1695 (connection #0)
15:26:14.243755 == Info: Connected to 127.0.1.1 (127.0.1.1) port 8118 (#0)
15:26:14.243791 == Info: STATE: CONNECTING => TUNNELING handle 0x8030d3808; line 1825 (connection #0)
15:26:14.243819 == Info: allocate connect buffer!
15:26:14.243847 == Info: Establish HTTP proxy tunnel to www.electrobsd.org:443
15:26:14.243989 => Send header, 50 bytes (0x32)
0000: 43 4f 4e 4e 45 43 54 20 77 77 77 2e 65 6c 65 63 CONNECT www.elec
0010: 74 72 6f 62 73 64 2e 6f 72 67 3a 34 34 33 20 48 trobsd.org:443 H
0020: 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 77 TTP/1.1..Host: w
0030: 77 77 ww
15:26:34.318527 == Info: Proxy CONNECT aborted
15:26:34.318589 == Info: CONNECT phase completed!
15:26:34.318638 == Info: The cache now contains 0 members
15:26:34.318673 == Info: Closing connection 0
curl: (56) Proxy CONNECT aborted
Fabian
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.se/mail/etiquette.html
- application/pgp-signature attachment: OpenPGP digital signature