У меня есть приложение Go, которое использует fasthttp для обслуживания некоторых запросов API.
Всякий раз, когда я вызываю один из этих API, используя curl
, все работает как положено. Однако всякий раз, когда я вызываю API из другого приложения Go, на моем сервере выводится следующая ошибка:
ошибка при обслуживании соединения "127.0.0.1:8080"<->"127.0.0.1:58377":
ошибка при чтении заголовков запроса: чтение tcp4
127.0.0.1:8080->127.0.0.1:58377: wsarecv: существующее соединение было принудительно закрыто удаленным хостом.
Похоже, это не оказывает какого-либо негативного влияния на сервер или клиент, но заставляет меня поверить, что я могу делать что-то не так, что может вызвать проблемы в будущем.
Вот как я называю API:
func (c *codeAPI) DoGET(endpoint string) (api.CodeAPIResponse, error) {
req, err := http.NewRequest("GET", c.apiURL+endpoint, nil)
if err != nil {
return nil, err
}
req.Header.Set("Authorization", "Bearer "+strings.TrimSpace(c.ctx.Config.AuthKey))
resp, err := c.client.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
var body CodeAPIBody
err = json.NewDecoder(resp.Body).Decode(&body)
return body, err
}
Где клиент создается так:
func NewCodeAPI(endpoint, authKey string) api.CodeAPI {
return &codeAPI{
client: &http.Client{
Timeout: time.Second * 10,
},
apiURL: endpoint,
}
}
Может ли это быть решено каким-то образом, или это то, что меня не должно волновать?