From d80ba7b08435edff471d770b261af26f813e97ef Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 25 Dec 2012 15:36:19 +0800 Subject: [PATCH] when Redirect delete output --- context.go | 143 ++++++++++++++++++++++++++--------------------------- 1 file changed, 71 insertions(+), 72 deletions(-) diff --git a/context.go b/context.go index 7a386c99..8ac7203d 100644 --- a/context.go +++ b/context.go @@ -1,72 +1,71 @@ -package beego - -import ( - "fmt" - "mime" - "net/http" - "strings" - "time" -) - -type Context struct { - ResponseWriter http.ResponseWriter - Request *http.Request - Params map[string]string -} - -func (ctx *Context) WriteString(content string) { - ctx.ResponseWriter.Write([]byte(content)) -} - -func (ctx *Context) Abort(status int, body string) { - ctx.ResponseWriter.WriteHeader(status) - ctx.ResponseWriter.Write([]byte(body)) -} - -func (ctx *Context) Redirect(status int, url_ string) { - ctx.ResponseWriter.Header().Set("Location", url_) - ctx.ResponseWriter.WriteHeader(status) - ctx.ResponseWriter.Write([]byte("Redirecting to: " + url_)) -} - -func (ctx *Context) NotModified() { - ctx.ResponseWriter.WriteHeader(304) -} - -func (ctx *Context) NotFound(message string) { - ctx.ResponseWriter.WriteHeader(404) - ctx.ResponseWriter.Write([]byte(message)) -} - -//Sets the content type by extension, as defined in the mime package. -//For example, ctx.ContentType("json") sets the content-type to "application/json" -func (ctx *Context) ContentType(ext string) { - if !strings.HasPrefix(ext, ".") { - ext = "." + ext - } - ctype := mime.TypeByExtension(ext) - if ctype != "" { - ctx.ResponseWriter.Header().Set("Content-Type", ctype) - } -} - -func (ctx *Context) SetHeader(hdr string, val string, unique bool) { - if unique { - ctx.ResponseWriter.Header().Set(hdr, val) - } else { - ctx.ResponseWriter.Header().Add(hdr, val) - } -} - -//Sets a cookie -- duration is the amount of time in seconds. 0 = forever -func (ctx *Context) SetCookie(name string, value string, age int64) { - var utctime time.Time - if age == 0 { - // 2^31 - 1 seconds (roughly 2038) - utctime = time.Unix(2147483647, 0) - } else { - utctime = time.Unix(time.Now().Unix()+age, 0) - } - cookie := fmt.Sprintf("%s=%s; expires=%s", name, value, webTime(utctime)) - ctx.SetHeader("Set-Cookie", cookie, false) -} +package beego + +import ( + "fmt" + "mime" + "net/http" + "strings" + "time" +) + +type Context struct { + ResponseWriter http.ResponseWriter + Request *http.Request + Params map[string]string +} + +func (ctx *Context) WriteString(content string) { + ctx.ResponseWriter.Write([]byte(content)) +} + +func (ctx *Context) Abort(status int, body string) { + ctx.ResponseWriter.WriteHeader(status) + ctx.ResponseWriter.Write([]byte(body)) +} + +func (ctx *Context) Redirect(status int, url_ string) { + ctx.ResponseWriter.Header().Set("Location", url_) + ctx.ResponseWriter.WriteHeader(status) +} + +func (ctx *Context) NotModified() { + ctx.ResponseWriter.WriteHeader(304) +} + +func (ctx *Context) NotFound(message string) { + ctx.ResponseWriter.WriteHeader(404) + ctx.ResponseWriter.Write([]byte(message)) +} + +//Sets the content type by extension, as defined in the mime package. +//For example, ctx.ContentType("json") sets the content-type to "application/json" +func (ctx *Context) ContentType(ext string) { + if !strings.HasPrefix(ext, ".") { + ext = "." + ext + } + ctype := mime.TypeByExtension(ext) + if ctype != "" { + ctx.ResponseWriter.Header().Set("Content-Type", ctype) + } +} + +func (ctx *Context) SetHeader(hdr string, val string, unique bool) { + if unique { + ctx.ResponseWriter.Header().Set(hdr, val) + } else { + ctx.ResponseWriter.Header().Add(hdr, val) + } +} + +//Sets a cookie -- duration is the amount of time in seconds. 0 = forever +func (ctx *Context) SetCookie(name string, value string, age int64) { + var utctime time.Time + if age == 0 { + // 2^31 - 1 seconds (roughly 2038) + utctime = time.Unix(2147483647, 0) + } else { + utctime = time.Unix(time.Now().Unix()+age, 0) + } + cookie := fmt.Sprintf("%s=%s; expires=%s", name, value, webTime(utctime)) + ctx.SetHeader("Set-Cookie", cookie, false) +}