From a488d1dbf7f16945e68fd80bd471642a328d822b Mon Sep 17 00:00:00 2001 From: John Date: Thu, 24 Jan 2019 13:40:48 +0800 Subject: [PATCH] ghttp updates --- g/net/ghttp/ghttp_request.go | 6 +++--- g/net/ghttp/ghttp_server_cookie.go | 3 +++ .../gstr/{gstr_test.go => gstr_z_bench_test.go} | 16 +++++++++++++++- 3 files changed, 21 insertions(+), 4 deletions(-) rename g/util/gstr/{gstr_test.go => gstr_z_bench_test.go} (72%) diff --git a/g/net/ghttp/ghttp_request.go b/g/net/ghttp/ghttp_request.go index 2ce2368e4..59b3051e2 100644 --- a/g/net/ghttp/ghttp_request.go +++ b/g/net/ghttp/ghttp_request.go @@ -19,7 +19,7 @@ import ( // 请求对象 type Request struct { - http.Request + *http.Request parsedGet bool // GET参数是否已经解析 parsedPost bool // POST参数是否已经解析 queryVars map[string][]string // GET参数 @@ -46,7 +46,7 @@ func newRequest(s *Server, r *http.Request, w http.ResponseWriter) *Request { routerVars : make(map[string][]string), Id : s.servedCount.Add(1), Server : s, - Request : *r, + Request : r, Response : newResponse(s, w), EnterTime : gtime.Microsecond(), } @@ -59,7 +59,7 @@ func newRequest(s *Server, r *http.Request, w http.ResponseWriter) *Request { // 获取Web Socket连接对象(如果是非WS请求会失败,注意检查然会的error结果) func (r *Request) WebSocket() (*WebSocket, error) { - if conn, err := wsUpgrader.Upgrade(r.Response.ResponseWriter.ResponseWriter, &r.Request, nil); err == nil { + if conn, err := wsUpgrader.Upgrade(r.Response.ResponseWriter.ResponseWriter, r.Request, nil); err == nil { return &WebSocket { conn, }, nil diff --git a/g/net/ghttp/ghttp_server_cookie.go b/g/net/ghttp/ghttp_server_cookie.go index 6fc808828..1c2e2af6c 100644 --- a/g/net/ghttp/ghttp_server_cookie.go +++ b/g/net/ghttp/ghttp_server_cookie.go @@ -141,6 +141,9 @@ func (c *Cookie) Remove(key, domain, path string) { // 输出到客户端 func (c *Cookie) Output() { + if len(c.data) == 0 { + return + } for k, v := range c.data { // 只有 expire != 0 的才是服务端在本次请求中设置的cookie if v.expire == 0 { diff --git a/g/util/gstr/gstr_test.go b/g/util/gstr/gstr_z_bench_test.go similarity index 72% rename from g/util/gstr/gstr_test.go rename to g/util/gstr/gstr_z_bench_test.go index 9e6b03701..ef05e7427 100644 --- a/g/util/gstr/gstr_test.go +++ b/g/util/gstr/gstr_z_bench_test.go @@ -9,6 +9,7 @@ package gstr_test import ( + "strings" "testing" ) @@ -31,4 +32,17 @@ func Benchmark_BytesToString(b *testing.B) { } } -} \ No newline at end of file +} + +func Benchmark_Strings_ToUpper(b *testing.B) { + for i := 0; i < b.N; i++ { + strings.ToUpper(str) + } +} + +func Benchmark_Strings_ToLower(b *testing.B) { + for i := 0; i < b.N; i++ { + strings.ToLower(str) + } +} +