英文:
AppEngine/Go: urlfetch vs http.Get, etc
问题
在AppEngine下是否需要使用urlfetch
?我想编写一个通用的客户端用于我的某个服务,但是如果在AppEngine中需要使用urlfetch
,那么我如何编写一个通用的客户端,既可以在AppEngine外部(对公众)使用,也可以在AppEngine内部(对我的其他服务)使用,而不需要编写两个不同的版本或传递某种生成正确实现的工厂?
英文:
Is it necessary to use urlfetch
under AppEngine? I'd like to write a generic client to use with one of my services, but, if urlfetch
is required from AppEngine, how can I write a generic client for use both from outside AppEngine (for the public) and inside AppEngine (for my other services) without having to write two different versions or passing some kind of factory that produces the right implementation?
答案1
得分: 3
应用程序应该将一个 http.Client 传递给你的通用客户端。它可以作为函数的参数传递,也可以通过 context 传递,就像 oauth2 包 中所做的那样。
如果应用程序没有通过这些机制之一提供 http.Client(nil 参数或上下文中没有值),那么请使用 默认客户端。
英文:
The application should pass an http.Client to your generic client. It can either be a parameter to the function or passed through a context as done in the oauth2 package.
If the application does not provide a http.Client through one of these mechanisms (nil arg or no value in context), then use the default client.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论