Documentation
¶
Overview ¶
Package iris implements the highest realistic performance, easy to learn Go web framework. Iris provides a beautifully expressive and easy to use foundation for your next website, API, or distributed app. Low-level handlers compatible with `net/http` and high-level fastest MVC implementation and handlers dependency injection. Easy to learn for new gophers and advanced features for experienced, it goes as far as you dive into it!
Source code and other details for the project are available at GitHub:
https://github.com/kataras/iris
Current Version ¶
12.1.8
Installation ¶
The only requirement is the Go Programming Language, at least version 1.13.
$ go get git.jxc1690.top/library/iris@latest
Wiki:
https://github.com/kataras/iris/wiki
Examples:
https://github.com/kataras/iris/tree/master/_examples
Middleware:
https://github.com/kataras/iris/tree/master/middleware https://github.com/iris-contrib/middleware
Home Page:
https://iris-go.com
Index ¶
- Constants
- Variables
- func EmbedReadAllDir(path string, fs embed.FS) (ret []string)
- type Application
- func (app *Application) Build() error
- func (app *Application) ConfigurationReadOnly() context.ConfigurationReadOnly
- func (app *Application) Configure(configurators ...Configurator) *Application
- func (app *Application) ConfigureHost(configurators ...host.Configurator) *Application
- func (app *Application) EmbedDir(relativePath string, Fs embed.FS, FsDir string) *router.Route
- func (app *Application) I18nReadOnly() context.I18nReadOnly
- func (app *Application) Listen(hostPort string, withOrWithout ...Configurator) error
- func (app *Application) Logger() *golog.Logger
- func (app *Application) NewHost(srv *http.Server) *host.Supervisor
- func (app *Application) RegisterView(viewEngine view.Engine)
- func (app *Application) Run(serve Runner, withOrWithout ...Configurator) error
- func (app *Application) Shutdown(ctx stdContext.Context) error
- func (app *Application) SubdomainRedirect(from, to router.Party) router.Party
- func (app *Application) View(writer io.Writer, filename string, layout string, bindingData interface{}) error
- func (app *Application) VueDir(relativePath, Path string) *router.Route
- func (app *Application) VueIndex()
- func (app *Application) WWW() router.Party
- type Configuration
- func (c Configuration) GetCharset() string
- func (c Configuration) GetDisableAutoFireStatusCode() bool
- func (c Configuration) GetDisableBodyConsumptionOnUnmarshal() bool
- func (c Configuration) GetDisablePathCorrection() bool
- func (c Configuration) GetDisablePathCorrectionRedirection() bool
- func (c Configuration) GetEnableOptimizations() bool
- func (c Configuration) GetEnablePathEscape() bool
- func (c Configuration) GetFireMethodNotAllowed() bool
- func (c Configuration) GetLocaleContextKey() string
- func (c Configuration) GetOther() map[string]interface{}
- func (c Configuration) GetPostMaxMemory() int64
- func (c Configuration) GetRemoteAddrHeaders() map[string]bool
- func (c Configuration) GetTimeFormat() string
- func (c Configuration) GetVHost() string
- func (c Configuration) GetViewDataContextKey() string
- func (c Configuration) GetViewLayoutContextKey() string
- type Configurator
- func WithCharset(charset string) Configurator
- func WithConfiguration(c Configuration) Configurator
- func WithOtherValue(key string, val interface{}) Configurator
- func WithPostMaxMemory(limit int64) Configurator
- func WithRemoteAddrHeader(headerName string) Configurator
- func WithSitemap(startURL string) Configurator
- func WithTimeFormat(timeformat string) Configurator
- func WithoutRemoteAddrHeader(headerName string) Configurator
- func WithoutServerError(errors ...error) Configurator
- type Context
- type CookieOption
- type DirOptions
- type ExecutionOptions
- type ExecutionRules
- type Filter
- type Handler
- type JSON
- type Map
- type N
- type Party
- type Problem
- type ProblemOptions
- type Runner
- func Addr(addr string, hostConfigs ...host.Configurator) Runner
- func AutoTLS(addr string, domain string, email string, hostConfigs ...host.Configurator) Runner
- func Listener(l net.Listener, hostConfigs ...host.Configurator) Runner
- func Raw(f func() error) Runner
- func Server(srv *http.Server, hostConfigs ...host.Configurator) Runner
- func TLS(addr string, certFile, keyFile string, hostConfigs ...host.Configurator) Runner
- type Supervisor
- type Tunnel
- type TunnelingConfiguration
- type UnmarshalerFunc
- type XML
Constants ¶
const ( StatusContinue = 100 // RFC 7231, 6.2.1 StatusSwitchingProtocols = 101 // RFC 7231, 6.2.2 StatusProcessing = 102 // RFC 2518, 10.1 StatusEarlyHints = 103 // RFC 8297 StatusOK = 200 // RFC 7231, 6.3.1 StatusCreated = 201 // RFC 7231, 6.3.2 StatusAccepted = 202 // RFC 7231, 6.3.3 StatusNonAuthoritativeInfo = 203 // RFC 7231, 6.3.4 StatusNoContent = 204 // RFC 7231, 6.3.5 StatusResetContent = 205 // RFC 7231, 6.3.6 StatusPartialContent = 206 // RFC 7233, 4.1 StatusMultiStatus = 207 // RFC 4918, 11.1 StatusAlreadyReported = 208 // RFC 5842, 7.1 StatusIMUsed = 226 // RFC 3229, 10.4.1 StatusMultipleChoices = 300 // RFC 7231, 6.4.1 StatusMovedPermanently = 301 // RFC 7231, 6.4.2 StatusFound = 302 // RFC 7231, 6.4.3 StatusSeeOther = 303 // RFC 7231, 6.4.4 StatusNotModified = 304 // RFC 7232, 4.1 StatusUseProxy = 305 // RFC 7231, 6.4.5 StatusTemporaryRedirect = 307 // RFC 7231, 6.4.7 StatusPermanentRedirect = 308 // RFC 7538, 3 StatusBadRequest = 400 // RFC 7231, 6.5.1 StatusPaymentRequired = 402 // RFC 7231, 6.5.2 StatusForbidden = 403 // RFC 7231, 6.5.3 StatusNotFound = 404 // RFC 7231, 6.5.4 StatusMethodNotAllowed = 405 // RFC 7231, 6.5.5 StatusNotAcceptable = 406 // RFC 7231, 6.5.6 StatusProxyAuthRequired = 407 // RFC 7235, 3.2 StatusRequestTimeout = 408 // RFC 7231, 6.5.7 StatusConflict = 409 // RFC 7231, 6.5.8 StatusGone = 410 // RFC 7231, 6.5.9 StatusLengthRequired = 411 // RFC 7231, 6.5.10 StatusPreconditionFailed = 412 // RFC 7232, 4.2 StatusRequestEntityTooLarge = 413 // RFC 7231, 6.5.11 StatusRequestURITooLong = 414 // RFC 7231, 6.5.12 StatusUnsupportedMediaType = 415 // RFC 7231, 6.5.13 StatusRequestedRangeNotSatisfiable = 416 // RFC 7233, 4.4 StatusExpectationFailed = 417 // RFC 7231, 6.5.14 StatusTeapot = 418 // RFC 7168, 2.3.3 StatusMisdirectedRequest = 421 // RFC 7540, 9.1.2 StatusUnprocessableEntity = 422 // RFC 4918, 11.2 StatusLocked = 423 // RFC 4918, 11.3 StatusFailedDependency = 424 // RFC 4918, 11.4 StatusTooEarly = 425 // RFC 8470, 5.2. StatusUpgradeRequired = 426 // RFC 7231, 6.5.15 StatusPreconditionRequired = 428 // RFC 6585, 3 StatusTooManyRequests = 429 // RFC 6585, 4 StatusRequestHeaderFieldsTooLarge = 431 // RFC 6585, 5 StatusInternalServerError = 500 // RFC 7231, 6.6.1 StatusNotImplemented = 501 // RFC 7231, 6.6.2 StatusBadGateway = 502 // RFC 7231, 6.6.3 StatusGatewayTimeout = 504 // RFC 7231, 6.6.5 StatusHTTPVersionNotSupported = 505 // RFC 7231, 6.6.6 StatusVariantAlsoNegotiates = 506 // RFC 2295, 8.1 StatusInsufficientStorage = 507 // RFC 4918, 11.5 StatusLoopDetected = 508 // RFC 5842, 7.2 StatusNotExtended = 510 // RFC 2774, 7 StatusNetworkAuthenticationRequired = 511 // RFC 6585, 6 )
HTTP status codes as registered with IANA. See: http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml. Raw Copy from the future(tip) net/http std package in order to recude the import path of "net/http" for the users.
const ( MethodGet = "GET" MethodPost = "POST" MethodPut = "PUT" MethodDelete = "DELETE" MethodConnect = "CONNECT" MethodHead = "HEAD" MethodPatch = "PATCH" MethodOptions = "OPTIONS" MethodTrace = "TRACE" )
HTTP Methods copied from `net/http`.
const ( // RouteOverride an existing route with the new one, the default rule. RouteOverride = router.RouteOverride // RouteSkip registering a new route twice. RouteSkip = router.RouteSkip // RouteError log when a route already exists, shown after the `Build` state, // server never starts. RouteError = router.RouteError )
Constants for input argument at `router.RouteRegisterRule`. See `Party#SetRegisterRule`.
const ( ReferrerInvalid = context.ReferrerInvalid ReferrerIndirect = context.ReferrerIndirect ReferrerDirect = context.ReferrerDirect ReferrerEmail = context.ReferrerEmail ReferrerSearch = context.ReferrerSearch ReferrerSocial = context.ReferrerSocial ReferrerNotGoogleSearch = context.ReferrerNotGoogleSearch ReferrerGoogleOrganicSearch = context.ReferrerGoogleOrganicSearch ReferrerGoogleAdwords = context.ReferrerGoogleAdwords )
Contains the enum values of the `Context.GetReferrer()` method, shortcuts of the context subpackage.
const MethodNone = "NONE"
MethodNone is an iris-specific "virtual" method to store the "offline" routes.
const NoLayout = view.NoLayout
NoLayout to disable layout for a particular template file A shortcut for the `view#NoLayout`.
const Version = "12.1.8"
Version is the current version number of the Iris Web Framework.
Variables ¶
var ( // HTML view engine. // Shortcut of the kataras/iris/view.HTML. HTML = view.HTML // Django view engine. // Shortcut of the kataras/iris/view.Django. Django = view.
Iris version 12.1.8 has been
The official
Support your favorite web framework through 

