Oh! both excellent thoughts. Okay, I’ll try to remember this for the next time this happens.
Many thanks!
John
> On Aug 19, 2019, at 11:10, Bogdan Popa <
bog...@matchacha.ro> wrote:
>
> The server doesn't seem to handle `Expect:' headers properly so, for
> example, curl has a couple seconds' delay when you run the following
> from the command line:
>
> $ curl -v -F'request=1234'
brinckerhoff.org:8025
>
> * Rebuilt URL to:
brinckerhoff.org:8025/
> * Trying 45.79.98.233...
> * TCP_NODELAY set
> * Connected to
brinckerhoff.org (45.79.98.233) port 8025 (#0)
>> POST / HTTP/1.1
>> Host:
brinckerhoff.org:8025
>> User-Agent: curl/7.54.0
>> Accept: */*
>> Content-Length: 146
>> Expect: 100-continue
>> Content-Type: multipart/form-data; boundary=------------------------94d1720a98a20d42
>>
> * Done waiting for 100-continue
> < HTTP/1.1 200 Okay
> ...
>
> Here's the output when you disable the Expect header:
>
> $ curl -H'Expect:' -v -F'request=1234'
brinckerhoff.org:8025
>
> * Rebuilt URL to:
brinckerhoff.org:8025/
> * Trying 45.79.98.233...
> * TCP_NODELAY set
> * Connected to
brinckerhoff.org (45.79.98.233) port 8025 (#0)
>> POST / HTTP/1.1
>> Host:
brinckerhoff.org:8025
>> User-Agent: curl/7.54.0
>> Accept: */*
>> Content-Length: 146
>> Content-Type: multipart/form-data; boundary=------------------------f6089861efe4775a
>>
> < HTTP/1.1 200 Okay
>
> (no delay before the response is returned)
>
> Maybe `post-impure-port' sends an `Expect' header on POST and tries to
> handle the exchange correctly? IIRC, web browsers don't send `Expect'
> headers.
>
> The other explanation could be related to DNS resolution. Do you run
> `dnsmasq' or something like it locally? I've run into slow DNS
> resolution issues myself on macOS when my resolvers were misconfigured.
> These tend to lead to heisenbugs when the slow resolution eventually
> resolves and gets cached so all subsequent calls are fast.