猿问

Go Gae NewContext

我在 GAE 上使用 Go。我的任务之一是发送电子邮件。我正在成功使用此文档进行测试。


但是,如果我不想要请求处理程序怎么办:


func confirm(w http.ResponseWriter, r *http.Request) {

        c := appengine.NewContext(r)

                    ...

而是通过本地函数发送电子邮件:


func confirm() {

...

Go中有没有办法用GAE做到这一点?我认为我正在寻找的是一种调用方式:


c := appengine.NewContext(r)

但是没有请求处理程序,或者以任何可能的方式绕过它(我可能无法阅读)


我在想一种解决方法可能是从我的应用程序向我的应用程序发出http 请求- 但哇,真丑!


resp, err := http.Get("http://localhost:8080/sendMail?to=...")

注意:尝试此操作后 - 我得到了丑陋的解决方法:http.DefaultTransport 和 http.DefaultClient 在 App Engine 中不可用。请参阅https://cloud.google.com/appengine/docs/go/urlfetch/


所以这个解决方法实际上不是一个解决方法,urlfetchGAE 再次使用 http.GET 的方式......需要c := appengine.NewContext(r)


摇曳的蔷薇
浏览 217回答 1
1回答

RISEBY

您需要一个 appengine.Context 与外部服务交互,包括电子邮件和 urlfetch。您必须将 Context 实例传递到您的confirm函数中。
随时随地看视频慕课网APP

相关分类

Go
我要回答