# #go #https #proxy
Вопрос:
Мне интересно, возможно ли реализовать следующее:
У меня есть некоторый сервис в GO (используется для обмена облачными сообщениями Firebase), он использует пакет go от firebase (firebase.google.com/go/v4) для отправки сообщений. Этот пакет отправляет https-запросы. И один из них состоит в том, чтобы https://oauth2.googleapis.com/token чтобы получить жетон. Я не могу изменить код в go-пакете Firebase, но мне нужно использовать прокси, поэтому перед отправкой сообщения мне нужно установить переменную среды HTTPS_PROXY на мой прокси-адрес. Это прекрасно работает.
Теперь мне нужно выполнить несколько автоматических тестов, и у меня есть эмулятор, который имеет конечную точку /token и возвращает действительный токен в качестве ответа. Можно ли использовать какой-либо прокси-сервер, который может перенаправлять https-запросы на конечную точку моих эмуляторов, чтобы все запросы на https://oauth2.googleapis.com/token следует ли перенаправлять на конечную точку /токен моих эмуляторов? И еще один вопрос: есть ли какие-либо возможные проблемы из-за HTTPS ? Можно ли избавиться от https и использовать только http после прокси-сервера?
Ответ №1:
Найдено следующее решение: пакет облачных сообщений Firebase использует клонированный транспорт по умолчанию для создания http.клиента под капотом. Таким образом, мы можем настроить http.DefaultTransport перед вызовом app.Messaging(ctx) и настройкой любых необходимых нам параметров (прокси, проверка безопасности …). Так что никаких проблем вообще.