Package context provide the context utils Usage:

    	import ""
    	ctx := context.Context{Request:req,ResponseWriter:rw}
     more docs



    View Source
    const (
    	ApplicationJSON = "application/json"
    	ApplicationXML  = "application/xml"
    	ApplicationYAML = "application/x-yaml"
    	TextXML         = "text/xml"

      commonly used mime-types


      This section is empty.


      func InitGzip

      func InitGzip(minLength, compressLevel int, methods []string)

        InitGzip init the gzipcompress

        func ParseEncoding

        func ParseEncoding(r *http.Request) string

          ParseEncoding will extract the right encoding for response the Accept-Encoding's sec is here:

          func WriteBody

          func WriteBody(encoding string, writer io.Writer, content []byte) (bool, string, error)

            WriteBody reads writes content to writer by the specific encoding(gzip/deflate)

            func WriteFile

            func WriteFile(encoding string, writer io.Writer, file *os.File) (bool, string, error)

              WriteFile reads from file and writes to writer by the specific encoding(gzip/deflate)


              type BeegoInput

              type BeegoInput struct {
              	Context    *Context
              	CruSession session.Store
              	RequestBody   []byte
              	RunMethod     string
              	RunController reflect.Type
              	// contains filtered or unexported fields

                BeegoInput operates the http request header, data, cookie and body. it also contains router params and current session.

                func NewInput

                func NewInput() *BeegoInput

                  NewInput return BeegoInput generated by Context.

                  func (*BeegoInput) AcceptsHTML

                  func (input *BeegoInput) AcceptsHTML() bool

                    AcceptsHTML Checks if request accepts html response

                    func (*BeegoInput) AcceptsJSON

                    func (input *BeegoInput) AcceptsJSON() bool

                      AcceptsJSON Checks if request accepts json response

                      func (*BeegoInput) AcceptsXML

                      func (input *BeegoInput) AcceptsXML() bool

                        AcceptsXML Checks if request accepts xml response

                        func (*BeegoInput) AcceptsYAML

                        func (input *BeegoInput) AcceptsYAML() bool

                          AcceptsYAML Checks if request accepts json response

                          func (*BeegoInput) Bind

                          func (input *BeegoInput) Bind(dest interface{}, key string) error

                            Bind data from request.Form[key] to dest like /?id=123&isok=true&ft=1.2&ol[0]=1&ol[1]=2&ul[]=str&ul[]=array&user.Name=astaxie var id int beegoInput.Bind(&id, "id") id ==123 var isok bool beegoInput.Bind(&isok, "isok") isok ==true var ft float64 beegoInput.Bind(&ft, "ft") ft ==1.2 ol := make([]int, 0, 2) beegoInput.Bind(&ol, "ol") ol ==[1 2] ul := make([]string, 0, 2) beegoInput.Bind(&ul, "ul") ul ==[str array] user struct{Name} beegoInput.Bind(&user, "user") user == {Name:"astaxie"}

                            func (*BeegoInput) Cookie

                            func (input *BeegoInput) Cookie(key string) string

                              Cookie returns request cookie item string by a given key. if non-existed, return empty string.

                              func (*BeegoInput) CopyBody

                              func (input *BeegoInput) CopyBody(MaxMemory int64) []byte

                                CopyBody returns the raw request body data as bytes.

                                func (*BeegoInput) Data

                                func (input *BeegoInput) Data() map[interface{}]interface{}

                                  Data return the implicit data in the input

                                  func (*BeegoInput) Domain

                                  func (input *BeegoInput) Domain() string

                                    Domain returns host name. Alias of Host method.

                                    func (*BeegoInput) GetData

                                    func (input *BeegoInput) GetData(key interface{}) interface{}

                                      GetData returns the stored data in this context.

                                      func (*BeegoInput) Header

                                      func (input *BeegoInput) Header(key string) string

                                        Header returns request header item string by a given string. if non-existed, return empty string.

                                        func (*BeegoInput) Host

                                        func (input *BeegoInput) Host() string

                                          Host returns host name. if no host info in request, return localhost.

                                          func (*BeegoInput) IP

                                          func (input *BeegoInput) IP() string

                                            IP returns request client ip. if in proxy, return first proxy id. if error, return RemoteAddr.

                                            func (*BeegoInput) Is

                                            func (input *BeegoInput) Is(method string) bool

                                              Is returns boolean of this request is on given method, such as Is("POST").

                                              func (*BeegoInput) IsAjax

                                              func (input *BeegoInput) IsAjax() bool

                                                IsAjax returns boolean of this request is generated by ajax.

                                                func (*BeegoInput) IsDelete

                                                func (input *BeegoInput) IsDelete() bool

                                                  IsDelete Is this a DELETE method request?

                                                  func (*BeegoInput) IsGet

                                                  func (input *BeegoInput) IsGet() bool

                                                    IsGet Is this a GET method request?

                                                    func (*BeegoInput) IsHead

                                                    func (input *BeegoInput) IsHead() bool

                                                      IsHead Is this a Head method request?

                                                      func (*BeegoInput) IsOptions

                                                      func (input *BeegoInput) IsOptions() bool

                                                        IsOptions Is this a OPTIONS method request?

                                                        func (*BeegoInput) IsPatch

                                                        func (input *BeegoInput) IsPatch() bool

                                                          IsPatch Is this a PATCH method request?

                                                          func (*BeegoInput) IsPost

                                                          func (input *BeegoInput) IsPost() bool

                                                            IsPost Is this a POST method request?

                                                            func (*BeegoInput) IsPut

                                                            func (input *BeegoInput) IsPut() bool

                                                              IsPut Is this a PUT method request?

                                                              func (*BeegoInput) IsSecure

                                                              func (input *BeegoInput) IsSecure() bool

                                                                IsSecure returns boolean of this request is in https.

                                                                func (*BeegoInput) IsUpload

                                                                func (input *BeegoInput) IsUpload() bool

                                                                  IsUpload returns boolean of whether file uploads in this request or not..

                                                                  func (*BeegoInput) IsWebsocket

                                                                  func (input *BeegoInput) IsWebsocket() bool

                                                                    IsWebsocket returns boolean of this request is in webSocket.

                                                                    func (*BeegoInput) Method

                                                                    func (input *BeegoInput) Method() string

                                                                      Method returns http request method.

                                                                      func (*BeegoInput) Param

                                                                      func (input *BeegoInput) Param(key string) string

                                                                        Param returns router param by a given key.

                                                                        func (*BeegoInput) Params

                                                                        func (input *BeegoInput) Params() map[string]string

                                                                          Params returns the map[key]value.

                                                                          func (*BeegoInput) ParamsLen

                                                                          func (input *BeegoInput) ParamsLen() int

                                                                            ParamsLen return the length of the params

                                                                            func (*BeegoInput) ParseFormOrMulitForm

                                                                            func (input *BeegoInput) ParseFormOrMulitForm(maxMemory int64) error

                                                                              ParseFormOrMulitForm parseForm or parseMultiForm based on Content-type

                                                                              func (*BeegoInput) Port

                                                                              func (input *BeegoInput) Port() int

                                                                                Port returns request client port. when error or empty, return 80.

                                                                                func (*BeegoInput) Protocol

                                                                                func (input *BeegoInput) Protocol() string

                                                                                  Protocol returns request protocol name, such as HTTP/1.1 .

                                                                                  func (*BeegoInput) Proxy

                                                                                  func (input *BeegoInput) Proxy() []string

                                                                                    Proxy returns proxy client ips slice.

                                                                                    func (*BeegoInput) Query

                                                                                    func (input *BeegoInput) Query(key string) string

                                                                                      Query returns input data item string by a given string.

                                                                                      func (*BeegoInput) Refer

                                                                                      func (input *BeegoInput) Refer() string

                                                                                        Refer returns http referer header.

                                                                                        func (*BeegoInput) Referer

                                                                                        func (input *BeegoInput) Referer() string

                                                                                          Referer returns http referer header.

                                                                                          func (*BeegoInput) Reset

                                                                                          func (input *BeegoInput) Reset(ctx *Context)

                                                                                            Reset init the BeegoInput

                                                                                            func (*BeegoInput) ResetParams

                                                                                            func (input *BeegoInput) ResetParams()

                                                                                              ResetParams clears any of the input's Params This function is used to clear parameters so they may be reset between filter passes.

                                                                                              func (*BeegoInput) Scheme

                                                                                              func (input *BeegoInput) Scheme() string

                                                                                                Scheme returns request scheme as "http" or "https".

                                                                                                func (*BeegoInput) Session

                                                                                                func (input *BeegoInput) Session(key interface{}) interface{}

                                                                                                  Session returns current session item value by a given key. if non-existed, return nil.

                                                                                                  func (*BeegoInput) SetData

                                                                                                  func (input *BeegoInput) SetData(key, val interface{})

                                                                                                    SetData stores data with given key in this context. This data are only available in this context.

                                                                                                    func (*BeegoInput) SetParam

                                                                                                    func (input *BeegoInput) SetParam(key, val string)

                                                                                                      SetParam will set the param with key and value

                                                                                                      func (*BeegoInput) Site

                                                                                                      func (input *BeegoInput) Site() string

                                                                                                        Site returns base site url as scheme://domain type.

                                                                                                        func (*BeegoInput) SubDomains

                                                                                                        func (input *BeegoInput) SubDomains() string

                                                                                                          SubDomains returns sub domain string. if, returns .

                                                                                                          func (*BeegoInput) URI

                                                                                                          func (input *BeegoInput) URI() string

                                                                                                            URI returns full request url with query string, fragment.

                                                                                                            func (*BeegoInput) URL

                                                                                                            func (input *BeegoInput) URL() string

                                                                                                              URL returns request url path (without query string, fragment).

                                                                                                              func (*BeegoInput) UserAgent

                                                                                                              func (input *BeegoInput) UserAgent() string

                                                                                                                UserAgent returns request client user agent string.

                                                                                                                type BeegoOutput

                                                                                                                type BeegoOutput struct {
                                                                                                                	Context    *Context
                                                                                                                	Status     int
                                                                                                                	EnableGzip bool

                                                                                                                  BeegoOutput does work for sending response header.

                                                                                                                  func NewOutput

                                                                                                                  func NewOutput() *BeegoOutput

                                                                                                                    NewOutput returns new BeegoOutput. it contains nothing now.

                                                                                                                    func (*BeegoOutput) Body

                                                                                                                    func (output *BeegoOutput) Body(content []byte) error

                                                                                                                      Body sets response body content. if EnableGzip, compress content string. it sends out response body directly.

                                                                                                                      func (*BeegoOutput) ContentType

                                                                                                                      func (output *BeegoOutput) ContentType(ext string)

                                                                                                                        ContentType sets the content type from ext string. MIME type is given in mime package.

                                                                                                                        func (*BeegoOutput) Cookie

                                                                                                                        func (output *BeegoOutput) Cookie(name string, value string, others ...interface{})

                                                                                                                          Cookie sets cookie value via given key. others are ordered as cookie's max age time, path,domain, secure and httponly.

                                                                                                                          func (*BeegoOutput) Download

                                                                                                                          func (output *BeegoOutput) Download(file string, filename ...string)

                                                                                                                            Download forces response for download file. it prepares the download response header automatically.

                                                                                                                            func (*BeegoOutput) Header

                                                                                                                            func (output *BeegoOutput) Header(key, val string)

                                                                                                                              Header sets response header item string via given key.

                                                                                                                              func (*BeegoOutput) IsCachable

                                                                                                                              func (output *BeegoOutput) IsCachable() bool

                                                                                                                                IsCachable returns boolean of this request is cached. HTTP 304 means cached.

                                                                                                                                func (*BeegoOutput) IsClientError

                                                                                                                                func (output *BeegoOutput) IsClientError() bool

                                                                                                                                  IsClientError returns boolean of this request client sends error data. HTTP 4xx means client error.

                                                                                                                                  func (*BeegoOutput) IsEmpty

                                                                                                                                  func (output *BeegoOutput) IsEmpty() bool

                                                                                                                                    IsEmpty returns boolean of this request is empty. HTTP 201,204 and 304 means empty.

                                                                                                                                    func (*BeegoOutput) IsForbidden

                                                                                                                                    func (output *BeegoOutput) IsForbidden() bool

                                                                                                                                      IsForbidden returns boolean of this request is forbidden. HTTP 403 means forbidden.

                                                                                                                                      func (*BeegoOutput) IsNotFound

                                                                                                                                      func (output *BeegoOutput) IsNotFound() bool

                                                                                                                                        IsNotFound returns boolean of this request is not found. HTTP 404 means not found.

                                                                                                                                        func (*BeegoOutput) IsOk

                                                                                                                                        func (output *BeegoOutput) IsOk() bool

                                                                                                                                          IsOk returns boolean of this request runs well. HTTP 200 means ok.

                                                                                                                                          func (*BeegoOutput) IsRedirect

                                                                                                                                          func (output *BeegoOutput) IsRedirect() bool

                                                                                                                                            IsRedirect returns boolean of this request is redirection header. HTTP 301,302,307 means redirection.

                                                                                                                                            func (*BeegoOutput) IsServerError

                                                                                                                                            func (output *BeegoOutput) IsServerError() bool

                                                                                                                                              IsServerError returns boolean of this server handler errors. HTTP 5xx means server internal error.

                                                                                                                                              func (*BeegoOutput) IsSuccessful

                                                                                                                                              func (output *BeegoOutput) IsSuccessful() bool

                                                                                                                                                IsSuccessful returns boolean of this request runs successfully. HTTP 2xx means ok.

                                                                                                                                                func (*BeegoOutput) JSON

                                                                                                                                                func (output *BeegoOutput) JSON(data interface{}, hasIndent bool, encoding bool) error

                                                                                                                                                  JSON writes json to response body. if encoding is true, it converts utf-8 to \u0000 type.

                                                                                                                                                  func (*BeegoOutput) JSONP

                                                                                                                                                  func (output *BeegoOutput) JSONP(data interface{}, hasIndent bool) error

                                                                                                                                                    JSONP writes jsonp to response body.

                                                                                                                                                    func (*BeegoOutput) Reset

                                                                                                                                                    func (output *BeegoOutput) Reset(ctx *Context)

                                                                                                                                                      Reset init BeegoOutput

                                                                                                                                                      func (*BeegoOutput) ServeFormatted

                                                                                                                                                      func (output *BeegoOutput) ServeFormatted(data interface{}, hasIndent bool, hasEncode ...bool)

                                                                                                                                                        ServeFormatted serve YAML, XML OR JSON, depending on the value of the Accept header

                                                                                                                                                        func (*BeegoOutput) Session

                                                                                                                                                        func (output *BeegoOutput) Session(name interface{}, value interface{})

                                                                                                                                                          Session sets session item value with given key.

                                                                                                                                                          func (*BeegoOutput) SetStatus

                                                                                                                                                          func (output *BeegoOutput) SetStatus(status int)

                                                                                                                                                            SetStatus sets response status code. It writes response header directly.

                                                                                                                                                            func (*BeegoOutput) XML

                                                                                                                                                            func (output *BeegoOutput) XML(data interface{}, hasIndent bool) error

                                                                                                                                                              XML writes xml string to response body.

                                                                                                                                                              func (*BeegoOutput) YAML

                                                                                                                                                              func (output *BeegoOutput) YAML(data interface{}) error

                                                                                                                                                                YAML writes yaml to response body.

                                                                                                                                                                type Context

                                                                                                                                                                type Context struct {
                                                                                                                                                                	Input          *BeegoInput
                                                                                                                                                                	Output         *BeegoOutput
                                                                                                                                                                	Request        *http.Request
                                                                                                                                                                	ResponseWriter *Response
                                                                                                                                                                	// contains filtered or unexported fields

                                                                                                                                                                  Context Http request context struct including BeegoInput, BeegoOutput, http.Request and http.ResponseWriter. BeegoInput and BeegoOutput provides some api to operate request and response more easily.

                                                                                                                                                                  func NewContext

                                                                                                                                                                  func NewContext() *Context

                                                                                                                                                                    NewContext return the Context with Input and Output

                                                                                                                                                                    func (*Context) Abort

                                                                                                                                                                    func (ctx *Context) Abort(status int, body string)

                                                                                                                                                                      Abort stops this request. if beego.ErrorMaps exists, panic body.

                                                                                                                                                                      func (*Context) CheckXSRFCookie

                                                                                                                                                                      func (ctx *Context) CheckXSRFCookie() bool

                                                                                                                                                                        CheckXSRFCookie checks xsrf token in this request is valid or not. the token can provided in request header "X-Xsrftoken" and "X-CsrfToken" or in form field value named as "_xsrf".

                                                                                                                                                                        func (*Context) GetCookie

                                                                                                                                                                        func (ctx *Context) GetCookie(key string) string

                                                                                                                                                                          GetCookie Get cookie from request by a given key. It's alias of BeegoInput.Cookie.

                                                                                                                                                                          func (*Context) GetSecureCookie

                                                                                                                                                                          func (ctx *Context) GetSecureCookie(Secret, key string) (string, bool)

                                                                                                                                                                            GetSecureCookie Get secure cookie from request by a given key.

                                                                                                                                                                            func (*Context) Redirect

                                                                                                                                                                            func (ctx *Context) Redirect(status int, localurl string)

                                                                                                                                                                              Redirect does redirection to localurl with http header status code.

                                                                                                                                                                              func (*Context) RenderMethodResult

                                                                                                                                                                              func (ctx *Context) RenderMethodResult(result interface{})

                                                                                                                                                                                RenderMethodResult renders the return value of a controller method to the output

                                                                                                                                                                                func (*Context) Reset

                                                                                                                                                                                func (ctx *Context) Reset(rw http.ResponseWriter, r *http.Request)

                                                                                                                                                                                  Reset init Context, BeegoInput and BeegoOutput

                                                                                                                                                                                  func (*Context) SetCookie

                                                                                                                                                                                  func (ctx *Context) SetCookie(name string, value string, others ...interface{})

                                                                                                                                                                                    SetCookie Set cookie for response. It's alias of BeegoOutput.Cookie.

                                                                                                                                                                                    func (*Context) SetSecureCookie

                                                                                                                                                                                    func (ctx *Context) SetSecureCookie(Secret, name, value string, others ...interface{})

                                                                                                                                                                                      SetSecureCookie Set Secure cookie for response.

                                                                                                                                                                                      func (*Context) WriteString

                                                                                                                                                                                      func (ctx *Context) WriteString(content string)

                                                                                                                                                                                        WriteString Write string to response body. it sends response body.

                                                                                                                                                                                        func (*Context) XSRFToken

                                                                                                                                                                                        func (ctx *Context) XSRFToken(key string, expire int64) string

                                                                                                                                                                                          XSRFToken creates a xsrf token string and returns.

                                                                                                                                                                                          type Renderer

                                                                                                                                                                                          type Renderer interface {
                                                                                                                                                                                          	Render(ctx *Context)

                                                                                                                                                                                            Renderer defines an http response renderer

                                                                                                                                                                                            type Response

                                                                                                                                                                                            type Response struct {
                                                                                                                                                                                            	Started bool
                                                                                                                                                                                            	Status  int
                                                                                                                                                                                            	Elapsed time.Duration

                                                                                                                                                                                              Response is a wrapper for the http.ResponseWriter started set to true if response was written to then don't execute other handler

                                                                                                                                                                                              func (*Response) CloseNotify

                                                                                                                                                                                              func (r *Response) CloseNotify() <-chan bool

                                                                                                                                                                                                CloseNotify http.CloseNotifier

                                                                                                                                                                                                func (*Response) Flush

                                                                                                                                                                                                func (r *Response) Flush()

                                                                                                                                                                                                  Flush http.Flusher

                                                                                                                                                                                                  func (*Response) Hijack

                                                                                                                                                                                                  func (r *Response) Hijack() (net.Conn, *bufio.ReadWriter, error)

                                                                                                                                                                                                    Hijack hijacker for http

                                                                                                                                                                                                    func (*Response) Pusher

                                                                                                                                                                                                    func (r *Response) Pusher() (pusher http.Pusher)

                                                                                                                                                                                                      Pusher http.Pusher

                                                                                                                                                                                                      func (*Response) Write

                                                                                                                                                                                                      func (r *Response) Write(p []byte) (int, error)

                                                                                                                                                                                                        Write writes the data to the connection as part of an HTTP reply, and sets `started` to true. started means the response has sent out.

                                                                                                                                                                                                        func (*Response) WriteHeader

                                                                                                                                                                                                        func (r *Response) WriteHeader(code int)

                                                                                                                                                                                                          WriteHeader sends an HTTP response header with status code, and sets `started` to true.

                                                                                                                                                                                                          type StatusCode

                                                                                                                                                                                                          type StatusCode int

                                                                                                                                                                                                            StatusCode sets the http response status code

                                                                                                                                                                                                            const (
                                                                                                                                                                                                            	//BadRequest indicates http error 400
                                                                                                                                                                                                            	BadRequest StatusCode = http.StatusBadRequest
                                                                                                                                                                                                            	//NotFound indicates http error 404
                                                                                                                                                                                                            	NotFound StatusCode = http.StatusNotFound

                                                                                                                                                                                                            func (StatusCode) Error

                                                                                                                                                                                                            func (s StatusCode) Error() string

                                                                                                                                                                                                            func (StatusCode) Render

                                                                                                                                                                                                            func (s StatusCode) Render(ctx *Context)

                                                                                                                                                                                                              Render sets the http status code


                                                                                                                                                                                                              Path Synopsis