From 830985b90b9ab49bebc4687fb276d3ff1b745f21 Mon Sep 17 00:00:00 2001 From: ysqi Date: Wed, 27 Apr 2016 22:05:31 +0800 Subject: [PATCH 1/4] QueryEscape Download File Name --- context/output.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/context/output.go b/context/output.go index f0e210a2..e1ad23e0 100644 --- a/context/output.go +++ b/context/output.go @@ -24,6 +24,7 @@ import ( "io" "mime" "net/http" + "net/url" "os" "path/filepath" "strconv" @@ -244,13 +245,15 @@ func (output *BeegoOutput) Download(file string, filename ...string) { return } + var fName string + if len(filename) > 0 && filename[0] != "" { + fName = filename[0] + } else { + fName = filepath.Base(file) + } + output.Header("Content-Disposition", "attachment; filename="+url.QueryEscape(fName)) output.Header("Content-Description", "File Transfer") output.Header("Content-Type", "application/octet-stream") - if len(filename) > 0 && filename[0] != "" { - output.Header("Content-Disposition", "attachment; filename="+filename[0]) - } else { - output.Header("Content-Disposition", "attachment; filename="+filepath.Base(file)) - } output.Header("Content-Transfer-Encoding", "binary") output.Header("Expires", "0") output.Header("Cache-Control", "must-revalidate") From 9e17f518b842b60021a6d912409770d191f059cc Mon Sep 17 00:00:00 2001 From: ysqi Date: Wed, 27 Apr 2016 22:17:53 +0800 Subject: [PATCH 2/4] Fixed print format error info --- config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.go b/config.go index f2c79634..ead538b0 100644 --- a/config.go +++ b/config.go @@ -274,7 +274,7 @@ func assignConfig(ac config.Configer) error { for adaptor, config := range BConfig.Log.Outputs { err := logs.SetLogger(adaptor, config) if err != nil { - fmt.Fprintln(os.Stderr, "%s with the config `%s` got err:%s\n", adaptor, config, err) + fmt.Fprintln(os.Stderr, fmt.Sprintf("%s with the config %q got err:%s", adaptor, config, err.Error())) } } logs.SetLogFuncCall(BConfig.Log.FileLineNum) From 245664010cf15aee6f22e2ac1039df3af4c83953 Mon Sep 17 00:00:00 2001 From: ysqi Date: Wed, 27 Apr 2016 22:18:22 +0800 Subject: [PATCH 3/4] Go Vet --- session/session.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/session/session.go b/session/session.go index 53d89a27..73f0d677 100644 --- a/session/session.go +++ b/session/session.go @@ -132,17 +132,13 @@ func NewManager(provideName, config string) (*Manager, error) { if cf.EnableSidInHttpHeader { if cf.SessionNameInHttpHeader == "" { - err = errors.New("SessionNameInHttpHeader is empty") - panic(err) - return nil, err + panic(errors.New("SessionNameInHttpHeader is empty")) } strMimeHeader := textproto.CanonicalMIMEHeaderKey(cf.SessionNameInHttpHeader) if cf.SessionNameInHttpHeader != strMimeHeader { strErrMsg := "SessionNameInHttpHeader (" + cf.SessionNameInHttpHeader + ") has the wrong format, it should be like this : " + strMimeHeader - err = errors.New(strErrMsg) - panic(err) - return nil, err + panic(errors.New(strErrMsg)) } } From fa7416452e3a722226484975160097cd238d7ed7 Mon Sep 17 00:00:00 2001 From: ysqi Date: Wed, 27 Apr 2016 22:26:32 +0800 Subject: [PATCH 4/4] Change set test mode way --- beego.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/beego.go b/beego.go index db5db3f5..32b64f75 100644 --- a/beego.go +++ b/beego.go @@ -85,9 +85,11 @@ func initBeforeHTTPRun() { // TestBeegoInit is for test package init func TestBeegoInit(ap string) { - os.Setenv("BEEGO_RUNMODE", "test") appConfigPath = filepath.Join(ap, "conf", "app.conf") os.Chdir(ap) - LoadAppConfig(appConfigProvider, appConfigPath) + if err := LoadAppConfig(appConfigProvider, appConfigPath); err != nil { + panic(err) + } + BConfig.RunMode = "test" initBeforeHTTPRun() }