本文整理汇总了Golang中github.com/goadesign/goa.Context.Respond方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Respond方法的具体用法?Golang Context.Respond怎么用?Golang Context.Respond使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/goadesign/goa.Context
的用法示例。
在下文中一共展示了Context.Respond方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
var req *http.Request
var rw *TestResponseWriter
var err error
var user = "test"
var pass = "testpass"
var authString = "Basic " + base64.StdEncoding.EncodeToString([]byte(user+":"+pass))
validFunc := func(ctx *goa.Context, u, p string) error {
if u == user && p == pass {
return nil
}
return errors.New("failed")
}
handler := func(ctx *goa.Context) error {
ctx.Respond(200, "ok")
return nil
}
BeforeEach(func() {
req, err = http.NewRequest("GET", "/goo", nil)
Ω(err).ShouldNot(HaveOccurred())
rw = new(TestResponseWriter)
rw.ParentHeader = make(http.Header)
s := goa.New("test")
s.SetEncoder(goa.JSONEncoderFactory(), true, "*/*")
ctx = goa.NewContext(nil, s, req, rw, nil)
spec = &httpauth.Specification{
示例2:
var ctx *goa.Context
BeforeEach(func() {
service = goa.New("test")
req, err := http.NewRequest("GET", "/goo", nil)
Ω(err).ShouldNot(HaveOccurred())
rw := new(testResponseWriter)
params := url.Values{"foo": []string{"bar"}}
ctx = goa.NewContext(nil, service, req, rw, params)
Ω(ctx.ResponseStatus()).Should(Equal(0))
})
Context("using a goa handler", func() {
BeforeEach(func() {
var goaHandler goa.Handler = func(ctx *goa.Context) error {
ctx.Respond(200, "ok")
return nil
}
input = goaHandler
})
It("wraps it in a middleware", func() {
Ω(mErr).ShouldNot(HaveOccurred())
h := func(ctx *goa.Context) error { return nil }
Ω(middleware(h)(ctx)).ShouldNot(HaveOccurred())
Ω(ctx.ResponseStatus()).Should(Equal(200))
})
})
Context("using a goa handler func", func() {
BeforeEach(func() {
示例3: unauthorized
// unauthorized sets the appropriate WWW-Authenticate header prior to sending an
// Unauthorized HTTP response.
func unauthorized(ctx *goa.Context, spec *Specification) error {
ctx.Header().Set("WWW-Authenticate", fmt.Sprintf("Basic realm=%q", spec.Realm))
// return ctx.Respond(http.StatusUnauthorized, http.StatusText(http.StatusUnauthorized))
return ctx.Respond(http.StatusUnauthorized, map[string]interface{}{"ID": -1, "Title": "Unauthorized", "Msg": "Unauthorized Request"})
}