Соединение в Go API принудительно прервано - PullRequest
0 голосов
/ 31 октября 2018

У меня есть приложение 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,
    }
}

Может ли это быть решено каким-то образом, или это то, что меня не должно волновать?

...