From 8f278be0dc6d4fc9b519b3d4af652ffba0ace27f Mon Sep 17 00:00:00 2001 From: John Date: Sat, 14 Nov 2020 10:24:06 +0800 Subject: [PATCH] improve build-in varables for view of ghttp --- net/ghttp/ghttp_response_view.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/net/ghttp/ghttp_response_view.go b/net/ghttp/ghttp_response_view.go index 2bdde6473..bb7abf1af 100644 --- a/net/ghttp/ghttp_response_view.go +++ b/net/ghttp/ghttp_response_view.go @@ -74,13 +74,16 @@ func (r *Response) ParseTplContent(content string, params ...gview.Params) (stri } // buildInVars merges build-in variables into and returns the new template variables. +// TODO performance improving. func (r *Response) buildInVars(params ...map[string]interface{}) map[string]interface{} { - m := gutil.MapMergeCopy(params...) + m := gutil.MapMergeCopy(r.Request.viewParams) + if len(params) > 0 { + gutil.MapMerge(m, params[0]) + } // Retrieve custom template variables from request object. - gutil.MapMerge(m, r.Request.viewParams, map[string]interface{}{ + gutil.MapMerge(m, map[string]interface{}{ "Form": r.Request.GetFormMap(), "Query": r.Request.GetQueryMap(), - "Request": r.Request.GetMap(), "Cookie": r.Request.Cookie.Map(), "Session": r.Request.Session.Map(), })