本书未发布
                12.11. Cookie
package main
/*
Cookie相关方法定义。
type (
    Context interface {
        Cookies() []Cookie
        GetCookie(name string) string
        SetCookie(cookie *SetCookie)
        SetCookieValue(string, string, int)
        ...
    }
    // SetCookie 定义响应返回的set-cookie header的数据生成
    SetCookie = http.Cookie
    // Cookie 定义请求读取的cookie header的键值对数据存储
    Cookie struct {
        Name  string
        Value string
    }
)
*/
import (
    "fmt"
    "github.com/eudore/eudore"
    "github.com/eudore/eudore/component/httptest"
)
func main() {
    app := eudore.NewApp()
    app.AnyFunc("/set", func(ctx eudore.Context) {
        ctx.SetCookie(&eudore.SetCookie{
            Name:     "set1",
            Value:    "val1",
            Path:     "/",
            HttpOnly: true,
        })
        ctx.SetCookieValue("set", "eudore", 0)
        ctx.SetCookieValue("name", "eudore", 600)
    })
    app.AnyFunc("/get", func(ctx eudore.Context) {
        ctx.Infof("cookie name value is: %s", ctx.GetCookie("name"))
        for _, i := range ctx.Cookies() {
            fmt.Fprintf(ctx, "%s: %s\n", i.Name, i.Value)
        }
    })
    client := httptest.NewClient(app)
    client.AddHeaderValue("Cookie", "age=22; name=eudore; =00; tag=\007hs; aa=\"bb\"; ")
    client.NewRequest("PUT", "/get").Do().CheckStatus(200).Out()
    client.NewRequest("PUT", "/set").Do().CheckStatus(200).Out()
    app.Listen(":8088")
    // app.CancelFunc()
    app.Run()
}
                                            反馈和交流请加群组:QQ群373278915。
          
golang http of eudore
            
            
                关于 LearnKu