http: сервер дал HTTP-ответ HTTPS-клиенту в Golang httptest - PullRequest
2 голосов
/ 10 июля 2020

Я получил http: сервер дал HTTP-ответ HTTPS-клиенту в Golang httptest при тестировании запроса на получение https url с использованием httptest server ниже. Он отлично работает, когда я использую URL, начинающийся с «http: //»

func testingHTTPClient(handler http.Handler) (*http.Client, func()) {
    s := httptest.NewServer(handler)

    cli := &http.Client{
        Transport: &http.Transport{
            DialContext: func(_ context.Context, network, _ string) (net.Conn, error) {
                return net.Dial(network, s.Listener.Addr().String())
            },
        },
    }

    return cli, s.Close
}

ссылка из фрагмент кода

Как заглушить запросы к удаленным хостам с Go

1 Ответ

4 голосов
/ 10 июля 2020

Оказывается, вместо

s := httptest.NewServer(handler),

я должен использовать

s := httptest.NewTLSServer(handler)

, чтобы получить https-сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...