英文:
Is it possible to make such a proxy usage?
问题
我想知道是否有可能实现以下内容:
我有一个用于 Firebase 云消息传递的 GO 服务,它使用来自 firebase 的 go 包 (firebase.google.com/go/v4) 来发送消息。该包发送 https 请求。其中一个请求是发送到 https://oauth2.googleapis.com/token 来获取令牌。
我无法更改 Firebase go 包中的代码,但我需要使用代理,所以在发送消息之前,我需要将 HTTPS_PROXY 环境变量设置为我的代理地址。这个方法运行良好。
现在我需要进行一些自动化测试,我有一个模拟器,它有一个 /token 端点,并返回一个有效的令牌作为响应。是否有可能使用某种代理将 https 请求重定向到我的模拟器端点,以便将所有对 https://oauth2.googleapis.com/token 的请求重定向到我的模拟器端点 /token?
另一个问题是,是否会因为 HTTPS 而出现任何可能的问题?
是否有可能在代理之后摆脱 https,只使用 http?
英文:
I`m wondering if it is possible to implement following:
I have some service in GO (used for Firebase Cloud Messaging) it uses go package from firebase (firebase.google.com/go/v4) to send messages. This packge sends https requests. And One of them is to https://oauth2.googleapis.com/token to get token.
I can't change code in Firebase go-package, but I need to use proxy, that is why before sending message I need to set HTTPS_PROXY environment variable to my proxy address. It works fine.
Now I need to do some automatic tests and I have an emulator that has /token endpoint and return a valid token as response. Is it possible to use some kind of proxy that can redirect https requests to my emulators endpoint so that all requests to https://oauth2.googleapis.com/token should be redirected to my emulators endpoint /token?
And another question is there are any possible problems because of HTTPS ?
Is it possible to get rid of https and use only http after the proxy?
答案1
得分: 0
找到以下解决方案:
Firebase Cloud Messaging包使用克隆默认传输方式,在幕后创建http.client。
因此,在调用app.Messaging(ctx)之前,我们可以配置http.DefaultTransport并设置我们需要的任何参数(代理、insecureSkipVerify等)。
所以没有任何问题。
英文:
Found following solution:
Firebase Cloud Messaging package uses clone default transport to create http.client under the hood.
So we can configure http.DefaultTransport before calling app.Messaging(ctx) and set up any parameters we need (proxy, insecureSkipVerify ...).
So no problems at all.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论