AppEngine/Go: urlfetch vs http.Get, etc

huangapple go评论86阅读模式
英文:

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.

huangapple
  • 本文由 发表于 2016年11月2日 07:26:16
  • 转载请务必保留本文链接:https://go.coder-hub.com/40370164.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定