Estou configurando o tempo limite para 300 segundos (para testar uma função lambda da AWS + API Gateway), mas o HTTPie continua a atingir o tempo limite em 30 segundos. Existe um limite superior definido em 30 segundos? Estou a usar
http --timeout=300 POST https://...
30 é o tempo limite padrão definido, não o limite superior.
Por algum motivo, httpie
não está usando o tempo limite especificado e expira em 30 segundos ...
$ http --timeout=300 POST https://...
HTTP/1.1 504 Gateway Timeout
Connection: keep-alive
Content-Length: 41
Content-Type: application/json
Date: ...
{
"message": "Endpoint request timed out"
}
Eu tentei isso com --timeout=300
e --timeout 300
(o que não deve fazer diferença, mas eu queria ter certeza) e os resultados são os mesmos: o tempo limite é de 30 segundos. A chamada da função deve levar cerca de 2 minutos (120 segundos), mas nunca passa dos 30 segundos.
Este não é o tempo limite de httpie
. Você está recebendo uma resposta informando que o intermediário entre você e sua função lambda está atingindo o tempo limite da solicitação. --timeout
é do seu computador para esse intermediário. O intermediário pode definir qualquer tempo limite que desejar para sua função lambda. Isso definitivamente não é um bug HTTPie.
Na verdade, esse é um problema com httpie. Meu tempo limite de gunicorn é 90s e httpie ainda está parando em 30s ... Eu sei que gunicorn não está expirando porque alguns segundos depois que httpie morre, vejo os resultados de saída do servidor no log.
@gnulnx há um tempo limite de --timeout=n
.
(O tempo limite padrão será removido na v2.0.0.)
Comentários muito úteis
Este não é o tempo limite de
httpie
. Você está recebendo uma resposta informando que o intermediário entre você e sua função lambda está atingindo o tempo limite da solicitação.--timeout
é do seu computador para esse intermediário. O intermediário pode definir qualquer tempo limite que desejar para sua função lambda. Isso definitivamente não é um bug HTTPie.