改进ghttp.Server Cookie示例,改进ghttp.Response.Write数据类型转换逻辑

This commit is contained in:
John
2018-04-30 22:34:28 +08:00
parent 299db4ebfe
commit 3dc932a0cb
3 changed files with 26 additions and 2 deletions

View File

@ -60,7 +60,14 @@ func (r *Response) Write(content ... interface{}) {
}
r.mu.Lock()
for _, v := range content {
r.buffer = append(r.buffer, gconv.String(v)...)
switch v.(type) {
case []byte:
// 如果是二进制数据,那么返回二进制数据
r.buffer = append(r.buffer, gconv.Bytes(v)...)
default:
// 否则一律按照可显示的字符串进行转换
r.buffer = append(r.buffer, gconv.String(v)...)
}
}
r.mu.Unlock()
}

18
geg/net/ghttp/cookie.go Normal file
View File

@ -0,0 +1,18 @@
package main
import (
"gitee.com/johng/gf/g"
"gitee.com/johng/gf/g/os/gtime"
"gitee.com/johng/gf/g/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/cookie", func(r *ghttp.Request) {
datetime := r.Cookie.Get("datetime")
r.Cookie.Set("datetime", gtime.Datetime())
r.Response.Write("datetime:", datetime)
})
s.SetPort(8199)
s.Run()
}

View File

@ -5,7 +5,6 @@ import (
"gitee.com/johng/gf/g/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/session", func(r *ghttp.Request) {