Skip to content

Latest commit

 

History

History
166 lines (132 loc) · 4.46 KB

context.md

File metadata and controls

166 lines (132 loc) · 4.46 KB

Context

The context source code can be found here. Keep note that many context's functions are not written here, use IDE/Editors with auto-complete feature.

// implements the http.ResponseWriter, http.Flusher
// and has some nice features, such as get the status code given
// by previous handler, get the body written so far and much more
ResponseWriter *iris.ResponseWriter {
  http.ResponseWriter // the original response writer
  
  Header() http.Header
  ResetHeaders()

  Write(b []byte) (int, error)
  Body() []byte

  SetBodyString(s string)
  SetBody(b []byte)
  ResetBody()

  SetContentType(cType string)
  ContentType() string

  WriteHeader(statusCode int)
  StatusCode() int

  Hijack() (net.Conn, *bufio.ReadWriter, error)
  SetBeforeFlush(cb func())
  Flush()

  Reset()
}

// the original *http.Request
Request *http.Request

Next()
StopExecution()
IsStopped() bool
GetHandlerName() string

Get(key string) interface{}
GetString(key string) string
GetInt(key string) (int, error)
Set(key string, value interface{})
VisitValues(visitor func([]byte, interface{}))

Param(key string) string
ParamDecoded(key string) string
ParamInt(key string) (int, error)
ParamInt64(key string) (int64, error)

Method() string
Host() string
ServerHost() string
Subdomain() string
VirtualHostname() string
Path() string
RequestPath(escape bool)string
RemoteAddr() string
RequestHeader(k string)string
IsAjax() bool

URLParam(key string)string
URLParams() map[string]string
URLParamsAsMulti() map[string][]string
URLParamInt(key string) (int, error)
URLParamInt64(key string) (int64, error)

FormValues() map[string][]string
FormValue(name string)string
PostValue(name string) string
FormFile(key string) (mime/multipart.File, *mime/multipart.FileHeader, error)

UnmarshalBody(v interface{}, unmarshaler iris.Unmarshaler) error
ReadJSON(v interface{}) error
ReadXML(v interface{}) error
ReadForm(v interface{}) error

ResetBody()
SetContentType(s string)
SetHeader(k string, v string)
SetStatusCode(statusCode int)
Redirect(url string, statusCode int)
RedirectTo(routeName string, args ...interface{})

EmitError(statusCode int)
NotFound()
Panic()

Write(b []byte) (int, error)
Writef(format string, a...interface{}) (int, error)
WriteString(s string) (int, error)
SetBodyString(s string)
WriteGzip(b []byte) (int, error)
TryWriteGzip(b []byte) (int, error)


RenderWithStatus(status int, name string, binding interface{}, options ...map[string]interface{}) (err error)
Render(name string, binding interface{}, options ...map[string]interface{}) error
MustRender(name string, binding interface{}, options ...map[string]interface{})
RenderTemplateSource(status int, src string, binding interface{}, options ...map[string]interface{}) error
TemplateString(name string, binding interface{}, options ...map[string]interface{}) string

HTML(status int, htmlContents string)
JSONP(status int, callback string, v interface{}) error
Text(status int, v string) error
XML(status int, v interface{}) error
MarkdownString(markdownText string) string
Markdown(status int, markdown string)

ServeContent(content io.ReadSeeker, filename string, modtime time.Time, gzipCompression bool) error
ServeFile(filename string, gzipCompression bool) error
SendFile(filename string, destinationName string)


VisitAllCookies(visitor func(key string, value string))
GetCookie(name string) string
SetCookie(cookie *http.Cookie)
SetCookieKV(name, value string)
RemoveCookie(name string)
MaxAge() int64

Session() {
  ID() string
  Get(string) interface{}
  HasFlash() bool
  GetFlash(string) interface{}
  GetString(string) string
  GetFlashString(string) string
  GetInt(string) (int, error)
  GetInt64(string) (int64, error)
  GetFloat32(string) (float32, error)
  GetFloat64(string) (float64, error)
  GetBoolean(string) (bool, error)
  GetAll() map[string]interface{}
  GetFlashes() map[string]interface{}
  VisitAll(func(string,interface{}))
  Set(string, interface{})
  SetFlash(string, interface{})
  Delete(string)
  DeleteFlash(string)
  Clear()
  ClearFlashes()
}
SessionDestroy()

BeginTransaction(pipe func(transaction *Transaction))
SkipTransactions()
TransactionsSkipped() bool

Log(format string, a ...interface{})
Framework() *Framework

// golang/x/net/context
Deadline() (deadline time.Time, ok bool)
Done() <-chan struct{}
Err() error
Value(key interface{}) interface{}

The examples will give you the direction.