У меня есть лямбда-функция A с валидатором пользователя, который запрашивает вторую лямбда-функцию B с токеном Bearer и ожидает получения информации о пользователе.
Когда я определяю время ожидания функции A как менее чем за 28 секунд , я получаю следующую ошибку:
ОШИБКА: Получить https://dev.url.com/auth/: net / http: запрос отменен во время ожидания соединения (Client.Timeout превышено при ожидании заголовков)
Мой код:
client := &http.Client{
Timeout: time.Second * 20,
}
req, err := http.NewRequest("GET", m.authURL, nil)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+m.token)
resp, err := client.Do(req)
if err != nil || resp.StatusCode != http.StatusOK {
return errors.Errorf("Failed to request auth service.\ntoken: %s\nERROR: %+v\n", m.token, err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
log.Println(string(body))
return err
Когда я определяю время ожидания функции A как выше или равно 28 секундам все работает как положено, обе функции работают правильно, и весь процесс занимает около 7 мс (!!!).
Возможно ли, что тайм-аут играет такую роль в выполнении? Если так, то почему?