diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index f455dc9b..5e23012a 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,5 +1,5 @@ Examples for the Iris project can be found at -. +. Documentation for the Iris project can be found at . diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index b1ecdfba..f8ae0680 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -30,7 +30,7 @@ Please make sure the bug is reproducible over the `master` branch: ```sh $ cd PROJECT -$ go get -u github.com/kataras/iris/v12@master +$ go get -u github.com/kataras/iris/v12@main $ go run . ``` diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f0baa855..618a60f7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,5 @@ # We'd love to see more contributions -Read how you can [contribute to the project](https://github.com/kataras/iris/blob/master/CONTRIBUTING.md). +Read how you can [contribute to the project](https://github.com/kataras/iris/blob/main/CONTRIBUTING.md). > Please attach an [issue](https://github.com/kataras/iris/issues) link which your PR solves otherwise your work may be rejected. diff --git a/.github/scripts/setup_examples_test.bash b/.github/scripts/setup_examples_test.bash index 4808f4a3..2178ddca 100755 --- a/.github/scripts/setup_examples_test.bash +++ b/.github/scripts/setup_examples_test.bash @@ -4,7 +4,7 @@ for f in ../../_examples/*; do if [ -d "$f" ]; then # Will not run if no directories are available go mod init - go get -u github.com/kataras/iris/v12@master + go get -u github.com/kataras/iris/v12@main go mod download go run . fi diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c70fdbe..a6cb37f1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: CI on: push: - branches: [master] + branches: [main] pull_request: - branches: [master] + branches: [main] permissions: contents: read diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dbf1a822..ea90ae3e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -First of all read our [Code of Conduct](https://github.com/kataras/iris/blob/master/CODE_OF_CONDUCT.md). +First of all read our [Code of Conduct](https://github.com/kataras/iris/blob/main/CODE_OF_CONDUCT.md). ## PR diff --git a/FAQ.md b/FAQ.md index 9a102d2b..07c9e4e3 100644 --- a/FAQ.md +++ b/FAQ.md @@ -31,8 +31,8 @@ More than 280 practical examples, tutorials and articles at: - https://www.iris-go.com/docs - https://www.iris-go.com/#ebookDonateForm -- https://github.com/kataras/iris/tree/master/_examples -- https://pkg.go.dev/github.com/kataras/iris/v12@master +- https://github.com/kataras/iris/tree/main/_examples +- https://pkg.go.dev/github.com/kataras/iris/v12@main ## Active development mode diff --git a/HISTORY.md b/HISTORY.md index 7558a927..9627f716 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -21,7 +21,9 @@ Developers are not forced to upgrade if they don't really need it. Upgrade whene # Next -Changes apply to `master` branch. +Changes apply to `main` branch. + +- `master` branch finally renamed to `main`. Don't worry GitHub will still navigate any `master` request to `main` automatically. Examples, Documentation and other Pages are refactored too. # Sat, 12 Aug 2023 | v12.2.4 @@ -88,11 +90,11 @@ All new features have been tested in production and seem to work fine. Fixed all - Add new `URLParamSeparator` to the configuration. Defaults to "," but can be set to an empty string to disable splitting query values on `Context.URLParamSlice` method. -- [PR #1992](https://github.com/kataras/iris/pull/1992): Added support for third party packages on [httptest](https://github.com/kataras/iris/tree/master/httptest). An example using 3rd-party module named [Ginkgo](github.com/onsi/ginkgo) can be found [here](https://github.com/kataras/iris/blob/master/_examples/testing/ginkgotest). +- [PR #1992](https://github.com/kataras/iris/pull/1992): Added support for third party packages on [httptest](https://github.com/kataras/iris/tree/main/httptest). An example using 3rd-party module named [Ginkgo](github.com/onsi/ginkgo) can be found [here](https://github.com/kataras/iris/blob/main/_examples/testing/ginkgotest). - Add `Context.Render` method for compatibility. -- Support of embedded [locale files](https://github.com/kataras/iris/blob/master/_examples/i18n/template-embedded/main.go) using standard `embed.FS` with the new `LoadFS` function. +- Support of embedded [locale files](https://github.com/kataras/iris/blob/main/_examples/i18n/template-embedded/main.go) using standard `embed.FS` with the new `LoadFS` function. - Support of direct embedded view engines (`HTML, Blocks, Django, Handlebars, Pug, Jet` and `Ace`) with `embed.FS` or `fs.FS` (in addition to `string` and `http.FileSystem` types). - Add support for `embed.FS` and `fs.FS` on `app.HandleDir`. @@ -252,7 +254,7 @@ app.Get("/users/{id:uuid}", getUser) - Improve the performance and fix `:int, :int8, :int16, :int32, :int64, :uint, :uint8, :uint16, :uint32, :uint64` path type parameters couldn't accept a positive number written with the plus symbol or with a leading zeroes, e.g. `+42` and `021`. -- The `iris.WithEmptyFormError` option is respected on `context.ReadQuery` method too, as requested at [#1727](https://github.com/kataras/iris/issues/1727). [Example comments](https://github.com/kataras/iris/blob/master/_examples/request-body/read-query/main.go) were updated. +- The `iris.WithEmptyFormError` option is respected on `context.ReadQuery` method too, as requested at [#1727](https://github.com/kataras/iris/issues/1727). [Example comments](https://github.com/kataras/iris/blob/main/_examples/request-body/read-query/main.go) were updated. - New `httptest.Strict` option setter to enable the `httpexpect.RequireReporter` instead of the default `httpexpect.AssetReporter. Use that to enable complete test failure on the first error. As requested at: [#1722](https://github.com/kataras/iris/issues/1722). @@ -312,11 +314,11 @@ stage := NewGroup(api, "5.0.0-alpha") stage.Get/Post... ``` -- New [Basic Authentication](https://github.com/kataras/iris/tree/master/middleware/basicauth) middleware. Its `Default` function has not changed, however, the rest, e.g. `New` contains breaking changes as the new middleware features new functionalities. -- Add `iris.DirOptions.SPA bool` field to allow [Single Page Applications](https://github.com/kataras/iris/tree/master/_examples/file-server/single-page-application/basic/main.go) under a file server. +- New [Basic Authentication](https://github.com/kataras/iris/tree/main/middleware/basicauth) middleware. Its `Default` function has not changed, however, the rest, e.g. `New` contains breaking changes as the new middleware features new functionalities. +- Add `iris.DirOptions.SPA bool` field to allow [Single Page Applications](https://github.com/kataras/iris/tree/main/_examples/file-server/single-page-application/basic/main.go) under a file server. - A generic User interface, see the `Context.SetUser/User` methods in the New Context Methods section for more. In-short, the basicauth middleware's stored user can now be retrieved through `Context.User()` which provides more information than the native `ctx.Request().BasicAuth()` method one. Third-party authentication middleware creators can benefit of these two methods, plus the Logout below. -- A `Context.Logout` method is added, can be used to invalidate [basicauth](https://github.com/kataras/iris/blob/master/_examples/auth/basicauth/basic/main.go) or [jwt](https://github.com/kataras/iris/blob/master/_examples/auth/jwt/blocklist/main.go) client credentials. -- Add the ability to [share functions](https://github.com/kataras/iris/tree/master/_examples/routing/writing-a-middleware/share-funcs) between handlers chain and add an [example](https://github.com/kataras/iris/tree/master/_examples/routing/writing-a-middleware/share-services) on sharing Go structures (aka services). +- A `Context.Logout` method is added, can be used to invalidate [basicauth](https://github.com/kataras/iris/blob/main/_examples/auth/basicauth/basic/main.go) or [jwt](https://github.com/kataras/iris/blob/main/_examples/auth/jwt/blocklist/main.go) client credentials. +- Add the ability to [share functions](https://github.com/kataras/iris/tree/main/_examples/routing/writing-a-middleware/share-funcs) between handlers chain and add an [example](https://github.com/kataras/iris/tree/main/_examples/routing/writing-a-middleware/share-services) on sharing Go structures (aka services). - Add the new `Party.UseOnce` method to the `*Route` - Add a new `*Route.RemoveHandler(...interface{}) int` and `Party.RemoveHandler(...interface{}) Party` methods, delete a handler based on its name or the handler pc function. @@ -342,7 +344,7 @@ func main() { - Redis Driver is now based on the [go-redis](https://github.com/go-redis/redis/) module. Radix and redigo removed entirely. Sessions are now stored in hashes which fixes [issue #1610](https://github.com/kataras/iris/issues/1610). The only breaking change on default configuration is that the `redis.Config.Delim` option was removed. The redis sessions database driver is now defaults to the `&redis.GoRedisDriver{}`. End-developers can implement their own implementations too. The `Database#Close` is now automatically called on interrupt signals, no need to register it by yourself. -- Add builtin support for **[i18n pluralization](https://github.com/kataras/iris/tree/master/_examples/i18n/plurals)**. Please check out the [following yaml locale example](https://github.com/kataras/iris/tree/master/_examples/i18n/plurals/locales/en-US/welcome.yml) to see an overview of the supported formats. +- Add builtin support for **[i18n pluralization](https://github.com/kataras/iris/tree/main/_examples/i18n/plurals)**. Please check out the [following yaml locale example](https://github.com/kataras/iris/tree/main/_examples/i18n/plurals/locales/en-US/welcome.yml) to see an overview of the supported formats. - Fix [#1650](https://github.com/kataras/iris/issues/1650) - Fix [#1649](https://github.com/kataras/iris/issues/1649) - Fix [#1648](https://github.com/kataras/iris/issues/1648) @@ -357,7 +359,7 @@ func main() { - Fix Response Recorder `Flush` when transfer-encoding is `chunked`. - Fix Response Recorder `Clone` concurrent access afterwards. -- Add a `ParseTemplate` method on view engines to manually parse and add a template from a text as [requested](https://github.com/kataras/iris/issues/1617). [Examples](https://github.com/kataras/iris/tree/master/_examples/view/parse-template). +- Add a `ParseTemplate` method on view engines to manually parse and add a template from a text as [requested](https://github.com/kataras/iris/issues/1617). [Examples](https://github.com/kataras/iris/tree/main/_examples/view/parse-template). - Full `http.FileSystem` interface support for all **view** engines as [requested](https://github.com/kataras/iris/issues/1575). The first argument of the functions(`HTML`, `Blocks`, `Pug`, `Ace`, `Jet`, `Django`, `Handlebars`) can now be either a directory of `string` type (like before) or a value which completes the `http.FileSystem` interface. The `.Binary` method of all view engines was removed: pass the go-bindata's latest version `AssetFile()` exported function as the first argument instead of string. - Add `Route.ExcludeSitemap() *Route` to exclude a route from sitemap as requested in [chat](https://chat.iris-go.com), also offline routes are excluded automatically now. @@ -376,13 +378,13 @@ func main() { ![DBUG routes with Controllers](https://iris-go.com/images/v12.2.0-dbug3.png?v=0) -- Update the [pprof middleware](https://github.com/kataras/iris/tree/master/middleware/pprof). +- Update the [pprof middleware](https://github.com/kataras/iris/tree/main/middleware/pprof). -- New `Controller.HandleHTTPError(mvc.Code) ` optional Controller method to handle http errors as requested at: [MVC - More Elegent OnErrorCode registration?](https://github.com/kataras/iris/issues/1595). Example can be found [here](https://github.com/kataras/iris/tree/master/_examples/mvc/error-handler-http/main.go). +- New `Controller.HandleHTTPError(mvc.Code) ` optional Controller method to handle http errors as requested at: [MVC - More Elegent OnErrorCode registration?](https://github.com/kataras/iris/issues/1595). Example can be found [here](https://github.com/kataras/iris/tree/main/_examples/mvc/error-handler-http/main.go). ![MVC: HTTP Error Handler Method](https://user-images.githubusercontent.com/22900943/90948989-e04cd300-e44c-11ea-8c97-54d90fb0cbb6.png) -- New [Rewrite Engine Middleware](https://github.com/kataras/iris/tree/master/middleware/rewrite). Set up redirection rules for path patterns using the syntax we all know. [Example Code](https://github.com/kataras/iris/tree/master/_examples/routing/rewrite). +- New [Rewrite Engine Middleware](https://github.com/kataras/iris/tree/main/middleware/rewrite). Set up redirection rules for path patterns using the syntax we all know. [Example Code](https://github.com/kataras/iris/tree/main/_examples/routing/rewrite). ```yml RedirectMatch: # REDIRECT_CODE_DIGITS | PATTERN_REGEX | TARGET_REPL @@ -411,15 +413,15 @@ RedirectMatch: # REDIRECT_CODE_DIGITS | PATTERN_REGEX | TARGET_REPL PrimarySubdomain: www ``` -- New `TraceRoute bool` on [middleware/logger](https://github.com/kataras/iris/tree/master/middleware/logger) middleware. Displays information about the executed route. Also marks the handlers executed. Screenshot: +- New `TraceRoute bool` on [middleware/logger](https://github.com/kataras/iris/tree/main/middleware/logger) middleware. Displays information about the executed route. Also marks the handlers executed. Screenshot: ![logger middleware: TraceRoute screenshot](https://iris-go.com/images/github/logger-trace-route.png) -- Implement feature request [Log when I18n Translation Fails?](https://github.com/kataras/iris/issues/1593) by using the new `Application.I18n.DefaultMessageFunc` field **before** `I18n.Load`. [Example of usage](https://github.com/kataras/iris/blob/master/_examples/i18n/basic/main.go#L28-L50). +- Implement feature request [Log when I18n Translation Fails?](https://github.com/kataras/iris/issues/1593) by using the new `Application.I18n.DefaultMessageFunc` field **before** `I18n.Load`. [Example of usage](https://github.com/kataras/iris/blob/main/_examples/i18n/basic/main.go#L28-L50). - Fix [#1594](https://github.com/kataras/iris/issues/1594) and add a new `PathAfterHandler` which can be set to true to enable the old behavior (not recommended though). -- New [apps](https://github.com/kataras/iris/tree/master/apps) subpackage. [Example of usage](https://github.com/kataras/iris/tree/master/_examples/routing/subdomains/redirect/multi-instances). +- New [apps](https://github.com/kataras/iris/tree/main/apps) subpackage. [Example of usage](https://github.com/kataras/iris/tree/main/_examples/routing/subdomains/redirect/multi-instances). ![apps image example](https://user-images.githubusercontent.com/22900943/90459288-8a54f400-e109-11ea-8dea-20631975c9fc.png) @@ -531,33 +533,33 @@ var dirOpts = iris.DirOptions{ - Update jet parser to v5.0.2, closes [#1551](https://github.com/kataras/iris/issues/1551). It contains two breaking changes by its author: - Relative paths on `extends, import, include...` tmpl functions, e.g. `{{extends "../layouts/application.jet"}}` instead of `layouts/application.jet` - the new [jet.Ranger](https://github.com/CloudyKit/jet/pull/165) interface now requires a `ProvidesIndex() bool` method too - - Example has been [updated](https://github.com/kataras/iris/tree/master/_examples/view/template_jet_0) + - Example has been [updated](https://github.com/kataras/iris/tree/main/_examples/view/template_jet_0) - Fix [#1552](https://github.com/kataras/iris/issues/1552). - Proper listing of root directories on `Party.HandleDir` when its `DirOptions.ShowList` was set to true. - - Customize the file/directory listing page through views, see [example](https://github.com/kataras/iris/tree/master/_examples/file-server/file-server). + - Customize the file/directory listing page through views, see [example](https://github.com/kataras/iris/tree/main/_examples/file-server/file-server). - Socket Sharding as requested at [#1544](https://github.com/kataras/iris/issues/1544). New `iris.WithSocketSharding` Configurator and `SocketSharding bool` setting. -- Versioned Controllers feature through the new `mvc.Version` option. See [_examples/mvc/versioned-controller](https://github.com/kataras/iris/blob/master/_examples/mvc/versioned-controller/main.go). +- Versioned Controllers feature through the new `mvc.Version` option. See [_examples/mvc/versioned-controller](https://github.com/kataras/iris/blob/main/_examples/mvc/versioned-controller/main.go). - Fix [#1539](https://github.com/kataras/iris/issues/1539). -- New [rollbar example](https://github.com/kataras/iris/blob/master/_examples/logging/rollbar/main.go). +- New [rollbar example](https://github.com/kataras/iris/blob/main/_examples/logging/rollbar/main.go). -- New builtin [requestid](https://github.com/kataras/iris/tree/master/middleware/requestid) middleware. +- New builtin [requestid](https://github.com/kataras/iris/tree/main/middleware/requestid) middleware. -- New builtin [JWT](https://github.com/kataras/iris/tree/master/middleware/jwt) middleware based on the fastest JWT implementation; [kataras/jwt](https://github.com/kataras/jwt) featured with optional wire encryption to set claims with sensitive data when necessary. +- New builtin [JWT](https://github.com/kataras/iris/tree/main/middleware/jwt) middleware based on the fastest JWT implementation; [kataras/jwt](https://github.com/kataras/jwt) featured with optional wire encryption to set claims with sensitive data when necessary. -- New `iris.RouteOverlap` route registration rule. `Party.SetRegisterRule(iris.RouteOverlap)` to allow overlapping across multiple routes for the same request subdomain, method, path. See [1536#issuecomment-643719922](https://github.com/kataras/iris/issues/1536#issuecomment-643719922). This allows two or more **MVC Controllers** to listen on the same path based on one or more registered dependencies (see [_examples/mvc/authenticated-controller](https://github.com/kataras/iris/tree/master/_examples/mvc/authenticated-controller)). +- New `iris.RouteOverlap` route registration rule. `Party.SetRegisterRule(iris.RouteOverlap)` to allow overlapping across multiple routes for the same request subdomain, method, path. See [1536#issuecomment-643719922](https://github.com/kataras/iris/issues/1536#issuecomment-643719922). This allows two or more **MVC Controllers** to listen on the same path based on one or more registered dependencies (see [_examples/mvc/authenticated-controller](https://github.com/kataras/iris/tree/main/_examples/mvc/authenticated-controller)). - `Context.ReadForm` now can return an `iris.ErrEmptyForm` instead of `nil` when the new `Configuration.FireEmptyFormError` is true (when `iris.WithEmptyFormError` is set) on missing form body to read from. -- `Configuration.EnablePathIntelligence | iris.WithPathIntelligence` to enable path intelligence automatic path redirection on the most closest path (if any), [example]((https://github.com/kataras/iris/blob/master/_examples/routing/intelligence/main.go) +- `Configuration.EnablePathIntelligence | iris.WithPathIntelligence` to enable path intelligence automatic path redirection on the most closest path (if any), [example]((https://github.com/kataras/iris/blob/main/_examples/routing/intelligence/main.go) -- Enhanced cookie security and management through new `Context.AddCookieOptions` method and new cookie options (look on New Package-level functions section below), [securecookie](https://github.com/kataras/iris/tree/master/_examples/cookies/securecookie) example has been updated. -- `Context.RemoveCookie` removes also the Request's specific cookie of the same request lifecycle when `iris.CookieAllowReclaim` is set to cookie options, [example](https://github.com/kataras/iris/tree/master/_examples/cookies/options). +- Enhanced cookie security and management through new `Context.AddCookieOptions` method and new cookie options (look on New Package-level functions section below), [securecookie](https://github.com/kataras/iris/tree/main/_examples/cookies/securecookie) example has been updated. +- `Context.RemoveCookie` removes also the Request's specific cookie of the same request lifecycle when `iris.CookieAllowReclaim` is set to cookie options, [example](https://github.com/kataras/iris/tree/main/_examples/cookies/options). - `iris.TLS` can now accept certificates in form of raw `[]byte` contents too. - `iris.TLS` registers a secondary http server which redirects "http://" to their "https://" equivalent requests, unless the new `iris.TLSNoRedirect` host Configurator is provided on `iris.TLS`, e.g. `app.Run(iris.TLS("127.0.0.1:443", "mycert.cert", "mykey.key", iris.TLSNoRedirect))`. There is `iris.AutoTLSNoRedirect` option for `AutoTLS` too. @@ -588,7 +590,7 @@ var dirOpts = iris.DirOptions{ - `iris.DirListRichOptions` to pass on `iris.DirListRich` method. - `iris.DirListRich` to override the default look and feel if the `DirOptions.ShowList` was set to true, can be passed to `DirOptions.DirList` field. -- `DirOptions.PushTargets` for http/2 push on index [*](https://github.com/kataras/iris/tree/master/_examples/file-server/http2push/main.go). +- `DirOptions.PushTargets` for http/2 push on index [*](https://github.com/kataras/iris/tree/main/_examples/file-server/http2push/main.go). - `iris.Compression` middleware to compress responses and decode compressed request data respectfully. - `iris.B, KB, MB, GB, TB, PB, EB` for byte units. - `TLSNoRedirect` to disable automatic "http://" to "https://" redirections (see below) @@ -600,14 +602,14 @@ var dirOpts = iris.DirOptions{ - `Context.ReadURL(ptr interface{}) error` shortcut of `ReadParams` and `ReadQuery`. Binds URL dynamic path parameters and URL query parameters to the given "ptr" pointer of a struct value. - `Context.SetUser(User)` and `Context.User() User` to store and retrieve an authenticated client. Read more [here](https://github.com/iris-contrib/middleware/issues/63). - `Context.SetLogoutFunc(fn interface{}, persistenceArgs ...interface{})` and `Logout(args ...interface{}) error` methods to allow different kind of auth middlewares to be able to set a "logout" a user/client feature with a single function, the route handler may not be aware of the implementation of the authentication used. -- `Context.SetFunc(name string, fn interface{}, persistenceArgs ...interface{})` and `Context.CallFunc(name string, args ...interface{}) ([]reflect.Value, error)` to allow middlewares to share functions dynamically when the type of the function is not predictable, see the [example](https://github.com/kataras/iris/tree/master/_examples/routing/writing-a-middleware/share-funcs) for more. +- `Context.SetFunc(name string, fn interface{}, persistenceArgs ...interface{})` and `Context.CallFunc(name string, args ...interface{}) ([]reflect.Value, error)` to allow middlewares to share functions dynamically when the type of the function is not predictable, see the [example](https://github.com/kataras/iris/tree/main/_examples/routing/writing-a-middleware/share-funcs) for more. - `Context.TextYAML(interface{}) error` same as `Context.YAML` but with set the Content-Type to `text/yaml` instead (Google Chrome renders it as text). - `Context.IsDebug() bool` reports whether the application is running under debug/development mode. It is a shortcut of Application.Logger().Level >= golog.DebugLevel. -- `Context.IsRecovered() bool` reports whether the current request was recovered from the [recover middleware](https://github.com/kataras/iris/tree/master/middleware/recover). Also the `Context.GetErrPublic() (bool, error)`, `Context.SetErrPrivate(err error)` methods and `iris.ErrPrivate` interface have been introduced. +- `Context.IsRecovered() bool` reports whether the current request was recovered from the [recover middleware](https://github.com/kataras/iris/tree/main/middleware/recover). Also the `Context.GetErrPublic() (bool, error)`, `Context.SetErrPrivate(err error)` methods and `iris.ErrPrivate` interface have been introduced. - `Context.RecordRequestBody(bool)` same as the Application's `DisableBodyConsumptionOnUnmarshal` configuration field but registers per chain of handlers. It makes the request body readable more than once. - `Context.IsRecordingBody() bool` reports whether the request body can be readen multiple times. -- `Context.ReadHeaders(ptr interface{}) error` binds request headers to "ptr". [Example](https://github.com/kataras/iris/blob/master/_examples/request-body/read-headers/main.go). -- `Context.ReadParams(ptr interface{}) error` binds dynamic path parameters to "ptr". [Example](https://github.com/kataras/iris/blob/master/_examples/request-body/read-params/main.go). +- `Context.ReadHeaders(ptr interface{}) error` binds request headers to "ptr". [Example](https://github.com/kataras/iris/blob/main/_examples/request-body/read-headers/main.go). +- `Context.ReadParams(ptr interface{}) error` binds dynamic path parameters to "ptr". [Example](https://github.com/kataras/iris/blob/main/_examples/request-body/read-params/main.go). - `Context.SaveFormFile(fh *multipart.FileHeader, dest string) (int64, error)` previously unexported. Accepts a result file of `Context.FormFile` and saves it to the disk. - `Context.URLParamSlice(name string) []string` is a a shortcut of `ctx.Request().URL.Query()[name]`. Like `URLParam` but it returns all values as a string slice instead of a single string separated by commas. Note that it skips any empty values (e.g. https://iris-go.com?values=). - `Context.PostValueMany(name string) (string, error)` returns the post data of a given key. The returned value is a single string separated by commas on multiple values. It also reports whether the form was empty or when the "name" does not exist or whether the available values are empty. It strips any empty key-values from the slice before return. See `ErrEmptyForm`, `ErrNotFound` and `ErrEmptyFormField` respectfully. The `PostValueInt`, `PostValueInt64`, `PostValueFloat64` and `PostValueBool` now respect the above errors too (the `PostValues` method now returns a second output argument of `error` too, see breaking changes below). @@ -784,8 +786,8 @@ Prior to this version the `iris.Context` was the only one dependency that has be | `uint, uint8, uint16, uint32, uint64`, | | | `float, float32, float64`, | | | `bool`, | | -| `slice` | [Path Parameter](https://github.com/kataras/iris/blob/master/_examples/routing/dynamic-path/main.go#L20) | -| Struct | [Request Body](https://github.com/kataras/iris/tree/master/_examples/request-body) of `JSON`, `XML`, `YAML`, `Form`, `URL Query`, `Protobuf`, `MsgPack` | +| `slice` | [Path Parameter](https://github.com/kataras/iris/blob/main/_examples/routing/dynamic-path/main.go#L20) | +| Struct | [Request Body](https://github.com/kataras/iris/tree/main/_examples/request-body) of `JSON`, `XML`, `YAML`, `Form`, `URL Query`, `Protobuf`, `MsgPack` | Here is a preview of what the new Hero handlers look like: @@ -991,7 +993,7 @@ Response: - The `Context.ContentType` does not accept filenames to resolve the mime type anymore (caused issues with vendor-specific(vnd) MIME types). - The `Configuration.RemoteAddrPrivateSubnets.IPRange.Start and End` are now type of `string` instead of `net.IP`. The `WithRemoteAddrPrivateSubnet` option remains as it is, already accepts `string`s. - The `i18n#LoaderConfig.FuncMap template.FuncMap` field was replaced with `Funcs func(iris.Locale) template.FuncMap` in order to give current locale access to the template functions. A new `app.I18n.Loader` was introduced too, in order to make it easier for end-developers to customize the translation key values. -- Request Logger's `Columns bool` field has been removed. Use the new [accesslog](https://github.com/kataras/iris/tree/master/_examples/logging/request-logger/accesslog/main.go) middleware instead. +- Request Logger's `Columns bool` field has been removed. Use the new [accesslog](https://github.com/kataras/iris/tree/main/_examples/logging/request-logger/accesslog/main.go) middleware instead. - The `.Binary` method of all view engines was removed: pass the go-bindata's latest version `AssetFile()` exported function as the first argument instead of string. All examples updated. - `ContextUploadFormFiles(destDirectory string, before ...func(*Context, *multipart.FileHeader) bool) (uploaded []*multipart.FileHeader, n int64, err error)` now returns the total files uploaded too (as its first parameter) and the "before" variadic option should return a boolean, if false then the specific file is skipped. - `Context.PostValues(name string) ([]string, error)` now returns a second output argument of `error` type too, which reports `ErrEmptyForm` or `ErrNotFound` or `ErrEmptyFormField`. The single post value getters now returns the **last value** if multiple was given instead of the first one (this allows clients to append values on flow updates). @@ -1068,7 +1070,7 @@ Fix [[BUG]Session works incorrectly when meets the multi-level TLDs](https://git # Mo, 16 December 2019 | v12.1.1 -Add [Context.FindClosest(n int) []string](https://github.com/kataras/iris/blob/master/_examples/routing/intelligence/manual/main.go#L22) +Add [Context.FindClosest(n int) []string](https://github.com/kataras/iris/blob/main/_examples/routing/intelligence/manual/main.go#L22) ```go app := iris.New() @@ -1103,7 +1105,7 @@ Minor as many of you don't even use them but, indeed, they need to be covered he - Community-driven i18n middleware(iris-contrib/middleware/go-i18n) has a `NewLoader` function which returns a loader which can be passed at `app.I18n.Reset(loader i18n.Loader, languages ...string)` to change the locales parser - The Configuration's `TranslateFunctionContextKey` was replaced by `LocaleContextKey` which Context store's value (if i18n is used) returns the current Locale which contains the translate function, the language code, the language tag and the index position of it - The `context.Translate` method was replaced by `context.Tr` as a shortcut for the new `context.GetLocale().GetMessage(format, args...)` method and it matches the view's function `{{tr format args}}` too -- If you used [Iris Django](https://github.com/kataras/iris/tree/master/_examples/view/template_django_0) view engine with `import _ github.com/flosch/pongo2-addons` you **must change** the import path to `_ github.com/iris-contrib/pongo2-addons` or add a [go mod replace](https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive) to your `go.mod` file, e.g. `replace github.com/flosch/pongo2-addons => github.com/iris-contrib/pongo2-addons v0.0.1`. +- If you used [Iris Django](https://github.com/kataras/iris/tree/main/_examples/view/template_django_0) view engine with `import _ github.com/flosch/pongo2-addons` you **must change** the import path to `_ github.com/iris-contrib/pongo2-addons` or add a [go mod replace](https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive) to your `go.mod` file, e.g. `replace github.com/flosch/pongo2-addons => github.com/iris-contrib/pongo2-addons v0.0.1`. ## Fixes @@ -1121,13 +1123,13 @@ All known issues. ### Internationalization and localization -Support for i18n is now a **builtin feature** and is being respected across your entire application, per say [sitemap](https://github.com/kataras/iris/blob/master/_examples/routing/sitemap/main.go) and [views](https://github.com/kataras/iris/blob/master/_examples/i18n/basic/main.go#L50). +Support for i18n is now a **builtin feature** and is being respected across your entire application, per say [sitemap](https://github.com/kataras/iris/blob/main/_examples/routing/sitemap/main.go) and [views](https://github.com/kataras/iris/blob/main/_examples/i18n/basic/main.go#L50). ### Sitemaps Iris generates and serves one or more [sitemap.xml](https://www.sitemaps.org/protocol.html) for your static routes. -Navigate through: https://github.com/kataras/iris/blob/master/_examples/routing/sitemap/main.go for more. +Navigate through: https://github.com/kataras/iris/blob/main/_examples/routing/sitemap/main.go for more. ## New Examples @@ -1219,7 +1221,7 @@ Commit log: https://github.com/kataras/iris/compare/v11.2.3...v11.2.4 - [New Feature: Handle different parameter types in the same path](https://github.com/kataras/iris/issues/1315) - [New Feature: Content Negotiation](https://github.com/kataras/iris/issues/1319) -- [Context.ReadYAML](https://github.com/kataras/iris/tree/master/_examples/request-body/read-yaml) +- [Context.ReadYAML](https://github.com/kataras/iris/tree/main/_examples/request-body/read-yaml) - Fixes https://github.com/kataras/neffos/issues/1#issuecomment-515698536 # We, 24 July 2019 | v11.2.2 diff --git a/README.md b/README.md index 75846ec3..a09b8d04 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Try the official [Iris Command Line Interface](https://github.com/kataras/iris-c # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) Iris is a fast, simple yet fully featured and very efficient web framework for Go. @@ -77,21 +77,21 @@ func updateUser(ctx iris.Context) { } ``` -> Read the [routing examples](https://github.com/kataras/iris/blob/master/_examples/routing) for more! +> Read the [routing examples](https://github.com/kataras/iris/blob/main/_examples/routing) for more!
Handler with custom input and output arguments -[![https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) +[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) -> Interesting? Read the [examples](https://github.com/kataras/iris/blob/master/_examples/dependency-injection). +> Interesting? Read the [examples](https://github.com/kataras/iris/blob/main/_examples/dependency-injection).
Party Controller (NEW) -> Head over to the [full running example](https://github.com/kataras/iris/blob/master/_examples/routing/party-controller)! +> Head over to the [full running example](https://github.com/kataras/iris/blob/main/_examples/routing/party-controller)!
@@ -569,7 +569,7 @@ Iris contains extensive and thorough **[documentation](https://www.iris-go.com/d -For a more detailed technical documentation you can head over to our [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@master). And for executable code you can always visit the [./_examples](_examples) repository's subdirectory. +For a more detailed technical documentation you can head over to our [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@main). And for executable code you can always visit the [./_examples](_examples) repository's subdirectory. ### Do you like to read while traveling? diff --git a/README_ES.md b/README_ES.md index 5cc2e0eb..083b379f 100644 --- a/README_ES.md +++ b/README_ES.md @@ -1,6 +1,6 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) Iris es un framework web rápido, simple pero con muchas funcionalidades y muy eficiente para Go. Proporciona una base bellamente expresiva y fácil de usar para su próximo sitio web o API. diff --git a/README_FA.md b/README_FA.md index bf4ced56..289533c9 100644 --- a/README_FA.md +++ b/README_FA.md @@ -10,7 +10,7 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) آیریس یک چارچوب وب پر سرعت ، ساده و در عین حال کاملاً برجسته و بسیار کارآمد برای Go است. @@ -56,15 +56,15 @@ func updateUser(ctx iris.Context) { ctx.JSON(resp) } ``` -> !برای اطلاعات بیشتر ، [مثال های مسیریابی](https://github.com/kataras/iris/blob/master/_examples/routing) را بخوانید +> !برای اطلاعات بیشتر ، [مثال های مسیریابی](https://github.com/kataras/iris/blob/main/_examples/routing) را بخوانید
Handler with custom input and output arguments -[![https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) +[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) -> اگر برایتان جالب بود [مثال های دیگری](https://github.com/kataras/iris/blob/master/_examples/dependency-injection) را مطالعه کنید +> اگر برایتان جالب بود [مثال های دیگری](https://github.com/kataras/iris/blob/main/_examples/dependency-injection) را مطالعه کنید
@@ -274,7 +274,7 @@ require github.com/kataras/iris/v12 v12.2.0-beta4.0.20220920072528-ff81f370625a برای اطلاعات بیشتر در مورد اسناد فنی می توانید به مستندات اصلی ما مراجعه کنید. -> [مستندات اصلی](https://pkg.go.dev/github.com/kataras/iris/v12@master) +> [مستندات اصلی](https://pkg.go.dev/github.com/kataras/iris/v12@main) ## دوست دارید در حین مسافرت کتاب بخوانید ? diff --git a/README_FR.md b/README_FR.md index fc8468ce..0c104e7a 100644 --- a/README_FR.md +++ b/README_FR.md @@ -1,6 +1,6 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) diff --git a/README_GR.md b/README_GR.md index 63e80b4e..a4cd29d9 100644 --- a/README_GR.md +++ b/README_GR.md @@ -1,6 +1,6 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) Το Iris είναι ένα γρήγορο, απλό αλλά και πλήρως λειτουργικό και πολύ αποδοτικό web framework για τη Go γλώσσα προγραμματισμού. Παρέχει ένα εκφραστικό και εύχρηστο υπόβαθρο για την επόμενη ιστοσελίδα σας. diff --git a/README_JA.md b/README_JA.md index c1e727d2..b02abe5d 100644 --- a/README_JA.md +++ b/README_JA.md @@ -6,7 +6,7 @@ Try the official [Iris Command Line Interface](https://github.com/kataras/iris-c # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) Irisは、高速でシンプルでありながら、十分な機能を備えた、非常に効率的なGo用Webフレームワークです。 @@ -77,21 +77,21 @@ func updateUser(ctx iris.Context) { } ``` -> Read the [routing examples](https://github.com/kataras/iris/blob/master/_examples/routing) for more! +> Read the [routing examples](https://github.com/kataras/iris/blob/main/_examples/routing) for more!
Handler with custom input and output arguments -[![https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) +[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) -> Interesting? Read the [examples](https://github.com/kataras/iris/blob/master/_examples/dependency-injection). +> Interesting? Read the [examples](https://github.com/kataras/iris/blob/main/_examples/dependency-injection).
Party Controller (NEW) -> Head over to the [full running example](https://github.com/kataras/iris/blob/master/_examples/routing/party-controller)! +> Head over to the [full running example](https://github.com/kataras/iris/blob/main/_examples/routing/party-controller)!
@@ -569,7 +569,7 @@ Iris には広範で詳細な **[ドキュメント](https://www.iris-go.com/doc -より詳細な技術文書については [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@master) をご覧ください。また、実行可能なコードについては、いつでもリポジトリのサブディレクトリ [./_examples](_examples) にアクセスできます。 +より詳細な技術文書については [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@main) をご覧ください。また、実行可能なコードについては、いつでもリポジトリのサブディレクトリ [./_examples](_examples) にアクセスできます。 ### 旅行中に本を読むのは好きですか? diff --git a/README_KO.md b/README_KO.md index 2990c2f0..c224ac66 100644 --- a/README_KO.md +++ b/README_KO.md @@ -1,6 +1,6 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) Iris는 단순하고 빠르며 좋은 성능과 모든 기능을 갖춘 Go언어용 웹 프레임워크입니다. 당신의 웹사이트나 API를 위해서 아름답고 사용하기 쉬운 기반을 제공합니다. diff --git a/README_PT_BR.md b/README_PT_BR.md index 33cfb7a6..9cb88bf0 100644 --- a/README_PT_BR.md +++ b/README_PT_BR.md @@ -2,7 +2,7 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-270-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-270-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) @@ -70,21 +70,21 @@ func updateUser(ctx iris.Context) { } ``` -> Read the [routing examples](https://github.com/kataras/iris/blob/master/_examples/routing) for more! +> Read the [routing examples](https://github.com/kataras/iris/blob/main/_examples/routing) for more!
Handler with custom input and output arguments -[![https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) +[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) -> Interesting? Read the [examples](https://github.com/kataras/iris/blob/master/_examples/dependency-injection). +> Interesting? Read the [examples](https://github.com/kataras/iris/blob/main/_examples/dependency-injection).
Party Controller (NEW) -> Head over to the [full running example](https://github.com/kataras/iris/blob/master/_examples/routing/party-controller)! +> Head over to the [full running example](https://github.com/kataras/iris/blob/main/_examples/routing/party-controller)!
@@ -489,7 +489,7 @@ Iris contém extensa e completa **[documentação](https://www.iris-go.com/docs) -Para obter uma documentação técnica mais detalhada, você pode acessar nosso [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@master). E para executar o código você sempre pode visitar os subdiretórios do diretório [./_examples](_examples). +Para obter uma documentação técnica mais detalhada, você pode acessar nosso [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@main). E para executar o código você sempre pode visitar os subdiretórios do diretório [./_examples](_examples). ### Você gosta de ler enquanto viaja ? diff --git a/README_RU.md b/README_RU.md index ce28a36f..c73c3be5 100644 --- a/README_RU.md +++ b/README_RU.md @@ -1,6 +1,6 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![view examples](https://img.shields.io/badge/learn%20by-examples-0C8EC5.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=7E18DD&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) Iris — это быстрый, простой, но полнофункциональный и эффективный веб-фреймворк для Go. Он обеспечивает красивую, выразительную и простую в использовании основу для вашего следующего веб-сайта или API. Узнайте, что [говорят другие люди об Iris](https://iris-go.com/testimonials/) и поставьте **[звёздочку](https://github.com/kataras/iris/stargazers)** этому проекту с открытым исходным кодом, чтобы поддержать его потенциал. diff --git a/README_VN.md b/README_VN.md index 27d22f46..7d50d2c8 100644 --- a/README_VN.md +++ b/README_VN.md @@ -6,7 +6,7 @@ Try the official [Iris Command Line Interface](https://github.com/kataras/iris-c # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) Iris là một khung web nhanh, đơn giản nhưng đầy đủ tính năng và rất hiệu quả dành cho Go. @@ -78,21 +78,21 @@ func updateUser(ctx iris.Context) { } ``` -> Read the [routing examples](https://github.com/kataras/iris/blob/master/_examples/routing) for more! +> Read the [routing examples](https://github.com/kataras/iris/blob/main/_examples/routing) for more!
Handler with custom input and output arguments -[![https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) +[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) -> Interesting? Read the [examples](https://github.com/kataras/iris/blob/master/_examples/dependency-injection). +> Interesting? Read the [examples](https://github.com/kataras/iris/blob/main/_examples/dependency-injection).
Party Controller (NEW) -> Head over to the [full running example](https://github.com/kataras/iris/blob/master/_examples/routing/party-controller)! +> Head over to the [full running example](https://github.com/kataras/iris/blob/main/_examples/routing/party-controller)!
@@ -571,7 +571,7 @@ Iris chứa **[tài liệu](https://www.iris-go.com/docs)** phong phú và kỹ -Để có tài liệu kỹ thuật chi tiết hơn, bạn có thể truy cập [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@master) của chúng tôi. Và đối với mã thực thi, bạn luôn có thể truy cập thư mục con của kho lưu trữ [./_examples](_examples). +Để có tài liệu kỹ thuật chi tiết hơn, bạn có thể truy cập [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@main) của chúng tôi. Và đối với mã thực thi, bạn luôn có thể truy cập thư mục con của kho lưu trữ [./_examples](_examples). ### Bạn có thích đọc khi đi du lịch không? diff --git a/README_ZH_HANS.md b/README_ZH_HANS.md index d4569ac0..5f136aea 100644 --- a/README_ZH_HANS.md +++ b/README_ZH_HANS.md @@ -10,7 +10,7 @@ # Iris Web Framework -[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-253-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) +[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-253-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) @@ -185,7 +185,7 @@ Iris 有完整且详尽的 **[使用文档](https://www.iris-go.com/#ebookDonate -要了解更详细的技术文档,请访问我们的 [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@master)。如果想要寻找代码示例,您可以到仓库的 [./_examples](_examples) 子目录下获取。 +要了解更详细的技术文档,请访问我们的 [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@main)。如果想要寻找代码示例,您可以到仓库的 [./_examples](_examples) 子目录下获取。 ### 你喜欢在旅行时阅读吗? diff --git a/README_ZH_HANT.md b/README_ZH_HANT.md index fcba0309..f135e90e 100644 --- a/README_ZH_HANT.md +++ b/README_ZH_HANT.md @@ -12,7 +12,7 @@ # Iris Web 框架 -[![組建狀態](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=master&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![查看範例](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/master/_examples) [![聊天室](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![捐助](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) +[![組建狀態](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![查看範例](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![聊天室](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![捐助](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/donate) @@ -81,21 +81,21 @@ func updateUser(ctx iris.Context) { } ``` -> Read the [routing examples](https://github.com/kataras/iris/blob/master/_examples/routing) for more! +> Read the [routing examples](https://github.com/kataras/iris/blob/main/_examples/routing) for more!
Handler with custom input and output arguments -[![https://github.com/kataras/iris/blob/master/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) +[![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) -> Interesting? Read the [examples](https://github.com/kataras/iris/blob/master/_examples/dependency-injection). +> Interesting? Read the [examples](https://github.com/kataras/iris/blob/main/_examples/dependency-injection).
Party Controller (NEW) -> Head over to the [full running example](https://github.com/kataras/iris/blob/master/_examples/routing/party-controller)! +> Head over to the [full running example](https://github.com/kataras/iris/blob/main/_examples/routing/party-controller)!
@@ -526,7 +526,7 @@ Iris 包含極其豐富且透徹的 **[文件](https://www.iris-go.com/docs)** -如需更為詳細的技術性文件,您可以前往我們的 [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@master)。如果要可以直接執行的程式碼,可以到 [./\_examples](_examples) 儲存庫的子目錄參閱。 +如需更為詳細的技術性文件,您可以前往我們的 [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@main)。如果要可以直接執行的程式碼,可以到 [./\_examples](_examples) 儲存庫的子目錄參閱。 ### 想一邊旅行、一邊閱讀嗎? diff --git a/SECURITY.md b/SECURITY.md index 3d90900f..9690c5c4 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -3,7 +3,7 @@ ## Supported Versions We are focusing on fixing issues and security vulnerabilities to the latest and greatest version of Iris. -Iris users SHOULD always update their backend code to the latest version of Iris API, there is a complete [HISTORY](https://github.com/kataras/iris/blob/master/HISTORY.md) file +Iris users SHOULD always update their backend code to the latest version of Iris API, there is a complete [HISTORY](https://github.com/kataras/iris/blob/main/HISTORY.md) file which acts as a code migration assistant. ## Reporting a Vulnerability diff --git a/_examples/README.md b/_examples/README.md index 96c5aed4..7b6f22f2 100644 --- a/_examples/README.md +++ b/_examples/README.md @@ -90,7 +90,7 @@ * [Redirection](routing/subdomains/redirect/main.go) * [Multi Instances](routing/subdomains/redirect/multi-instances/main.go) * [HTTP Errors View](routing/subdomains/http-errors-view/main.go) - * [HTTP Method Override](https://github.com/kataras/iris/blob/master/middleware/methodoverride/methodoverride_test.go) + * [HTTP Method Override](https://github.com/kataras/iris/blob/main/middleware/methodoverride/methodoverride_test.go) * [API Versioning](routing/versioning/main.go) * [Sitemap](routing/sitemap/main.go) * Logging @@ -175,7 +175,7 @@ * Third-Parties * [Render `valyala/quicktemplate` templates](view/quicktemplate) * [Render `shiyanhui/hero` templates](view/herotemplate) -* [Request ID](https://github.com/kataras/iris/blob/master/middleware/requestid/requestid_test.go) +* [Request ID](https://github.com/kataras/iris/blob/main/middleware/requestid/requestid_test.go) * [Request Rate Limit](request-ratelimit/main.go) * [Request Referrer](request-referrer/main.go) * [Webassembly](webassembly/main.go) diff --git a/_examples/README_ZH_HANT.md b/_examples/README_ZH_HANT.md index 440df1e2..6ce9ffc3 100644 --- a/_examples/README_ZH_HANT.md +++ b/_examples/README_ZH_HANT.md @@ -88,7 +88,7 @@ - [Redirection](routing/subdomains/redirect/main.go) - [Multi Instances](routing/subdomains/redirect/multi-instances/main.go) - [HTTP Errors View](routing/subdomains/http-errors-view/main.go) - - [HTTP Method Override](https://github.com/kataras/iris/blob/master/middleware/methodoverride/methodoverride_test.go) + - [HTTP Method Override](https://github.com/kataras/iris/blob/main/middleware/methodoverride/methodoverride_test.go) - [API Versioning](routing/versioning/main.go) - [Sitemap](routing/sitemap/main.go) - 日誌 @@ -173,7 +173,7 @@ - 第三方引擎 - [Render `valyala/quicktemplate` templates](view/quicktemplate) - [Render `shiyanhui/hero` templates](view/herotemplate) -- [請求 ID](https://github.com/kataras/iris/blob/master/middleware/requestid/requestid_test.go) +- [請求 ID](https://github.com/kataras/iris/blob/main/middleware/requestid/requestid_test.go) - [請求速率限制](request-ratelimit/main.go) - [請求 Referrer](request-referrer/main.go) - [Webassembly](webassembly/main.go) diff --git a/_examples/convert-handlers/real-usecase-raven/wrapping-the-router/main.go b/_examples/convert-handlers/real-usecase-raven/wrapping-the-router/main.go index 8abc1a53..a7c86a31 100644 --- a/_examples/convert-handlers/real-usecase-raven/wrapping-the-router/main.go +++ b/_examples/convert-handlers/real-usecase-raven/wrapping-the-router/main.go @@ -23,7 +23,7 @@ func main() { }) // Example for WrapRouter is already here: - // https://github.com/kataras/iris/blob/master/_examples/routing/custom-wrapper/main.go#L53 + // https://github.com/kataras/iris/blob/main/_examples/routing/custom-wrapper/main.go#L53 app.WrapRouter(func(w http.ResponseWriter, r *http.Request, irisRouter http.HandlerFunc) { // Exactly the same source code: // https://github.com/getsentry/raven-go/blob/379f8d0a68ca237cf8893a1cdfd4f574125e2c51/http.go#L70 diff --git a/_examples/database/mongodb/env/env.go b/_examples/database/mongodb/env/env.go index 9f735b43..46aa73f0 100644 --- a/_examples/database/mongodb/env/env.go +++ b/_examples/database/mongodb/env/env.go @@ -37,7 +37,7 @@ func parse() { // After `Load` the callers can get an environment variable via `os.Getenv`. func Load(envFileName string) { if args := os.Args; len(args) > 1 && args[1] == "help" { - fmt.Fprintln(os.Stderr, "https://github.com/kataras/iris/blob/master/_examples/database/mongodb/README.md") + fmt.Fprintln(os.Stderr, "https://github.com/kataras/iris/blob/main/_examples/database/mongodb/README.md") os.Exit(-1) } diff --git a/_examples/dropzonejs/README_PART2.md b/_examples/dropzonejs/README_PART2.md index 39c68178..437d6955 100644 --- a/_examples/dropzonejs/README_PART2.md +++ b/_examples/dropzonejs/README_PART2.md @@ -305,7 +305,7 @@ If you have done it successfully. Now go and upload some images and reload the u - http://www.dropzonejs.com/#server-side-implementation - https://www.startutorial.com/articles/view/how-to-build-a-file-upload-form-using-dropzonejs-and-php - https://docs.iris-go.com -- https://github.com/kataras/iris/tree/master/_examples/dropzonejs +- https://github.com/kataras/iris/tree/main/_examples/dropzonejs ## The end diff --git a/_examples/mvc/hello-world/main.go b/_examples/mvc/hello-world/main.go index 0cd9b8d6..ba205705 100644 --- a/_examples/mvc/hello-world/main.go +++ b/_examples/mvc/hello-world/main.go @@ -10,7 +10,7 @@ import ( ) // This example is equivalent to the -// https://github.com/kataras/iris/blob/master/_examples/hello-world/main.go +// https://github.com/kataras/iris/blob/main/_examples/hello-world/main.go // // It seems that additional code you // have to write doesn't worth it diff --git a/_examples/mvc/overview/README.md b/_examples/mvc/overview/README.md index eef5e0de..8b7c19eb 100644 --- a/_examples/mvc/overview/README.md +++ b/_examples/mvc/overview/README.md @@ -27,7 +27,7 @@ Navigate to that `app` folder and execute the following command: ```sh $ go init app -$ go get github.com/kataras/iris/v12@master +$ go get github.com/kataras/iris/v12@main # or @latest for the latest official release. ``` @@ -136,7 +136,7 @@ func (db *sqlite) Exec(q string) error { return nil } The `DB` depends on the `Environment. -> A practical and operational database example, including Docker images, can be found at the following guide: https://github.com/kataras/iris/tree/master/_examples/database/mysql +> A practical and operational database example, including Docker images, can be found at the following guide: https://github.com/kataras/iris/tree/main/_examples/database/mysql ## Service diff --git a/_examples/mvc/regexp/main.go b/_examples/mvc/regexp/main.go index a68fdf26..ca342450 100644 --- a/_examples/mvc/regexp/main.go +++ b/_examples/mvc/regexp/main.go @@ -4,7 +4,7 @@ package main /* There is no MVC naming pattern for such these things,you can imagine the limitations of that. Instead you can use the `BeforeActivation` on your controller to add more advanced routing features -(https://github.com/kataras/iris/tree/master/_examples/routing). +(https://github.com/kataras/iris/tree/main/_examples/routing). You can also create your own macro, i.e: /{file:json} or macro function of a specific parameter type i.e: (/{file:string json()}). diff --git a/_examples/mvc/vuejs-todo-mvc/README.md b/_examples/mvc/vuejs-todo-mvc/README.md index bd627cef..6308a925 100644 --- a/_examples/mvc/vuejs-todo-mvc/README.md +++ b/_examples/mvc/vuejs-todo-mvc/README.md @@ -575,13 +575,13 @@ Open one or more browser tabs at: http://localhost:8080 and have fun! ### Download the Source Code -The whole project, all the files you saw in this article are located at: https://github.com/kataras/iris/tree/master/_examples/mvc/vuejs-todo-mvc +The whole project, all the files you saw in this article are located at: https://github.com/kataras/iris/tree/main/_examples/mvc/vuejs-todo-mvc ## References https://vuejs.org/v2/examples/todomvc.html (using browser's local storage) -https://github.com/kataras/iris/tree/master/_examples/mvc (mvc examples and features overview repository) +https://github.com/kataras/iris/tree/main/_examples/mvc (mvc examples and features overview repository) ## Thank you, once again diff --git a/_examples/response-writer/cache/simple/main.go b/_examples/response-writer/cache/simple/main.go index 67903641..03ff31ee 100644 --- a/_examples/response-writer/cache/simple/main.go +++ b/_examples/response-writer/cache/simple/main.go @@ -93,6 +93,6 @@ func customIndexPost(ctx iris.Context) { /* Note that `HandleDir` does use the browser's disk caching by-default therefore, register the cache handler AFTER any HandleDir calls, for a faster solution that server doesn't need to keep track of the response -navigate to https://github.com/kataras/iris/blob/master/_examples/cache/client-side/main.go. +navigate to https://github.com/kataras/iris/blob/main/_examples/cache/client-side/main.go. The `HandleDir` has its own cache mechanism, read the 'file-server' examples. */ diff --git a/_examples/response-writer/write-rest/main.go b/_examples/response-writer/write-rest/main.go index 160144f2..eacfefa9 100644 --- a/_examples/response-writer/write-rest/main.go +++ b/_examples/response-writer/write-rest/main.go @@ -35,7 +35,7 @@ func main() { app.SetContextErrorHandler(new(errorHandler)) // Read app.Post("/decode", func(ctx iris.Context) { - // Read https://github.com/kataras/iris/blob/master/_examples/request-body/read-json/main.go as well. + // Read https://github.com/kataras/iris/blob/main/_examples/request-body/read-json/main.go as well. var user User err := ctx.ReadJSON(&user) if err != nil { diff --git a/_examples/routing/custom-router/main.go b/_examples/routing/custom-router/main.go index aba16974..37a24d4a 100644 --- a/_examples/routing/custom-router/main.go +++ b/_examples/routing/custom-router/main.go @@ -19,7 +19,7 @@ import ( For a more detailed, complete and useful example you can take a look at the iris' router itself which is located at: -https://github.com/kataras/iris/tree/master/core/router/handler.go +https://github.com/kataras/iris/tree/main/core/router/handler.go which completes this exact interface, the `router#RequestHandler`. */ type customRouter struct { diff --git a/_examples/websocket/README.md b/_examples/websocket/README.md index 8c8d9967..8847af29 100644 --- a/_examples/websocket/README.md +++ b/_examples/websocket/README.md @@ -2,7 +2,7 @@ [WebSocket](https://wikipedia.org/wiki/WebSocket) is a protocol that enables two-way persistent communication channels over TCP connections. It is used for applications such as chat, stock tickers, games, anywhere you want real-time functionality in a web application. -Iris websocket library is now merged with the [neffos real-time framework](https://github.com/kataras/neffos) and Iris-specific helpers and type aliases live on the [iris/websocket](https://github.com/kataras/iris/tree/master/websocket) subpackage. Learn neffos from its [wiki](https://github.com/kataras/neffos#learning-neffos). +Iris websocket library is now merged with the [neffos real-time framework](https://github.com/kataras/neffos) and Iris-specific helpers and type aliases live on the [iris/websocket](https://github.com/kataras/iris/tree/main/websocket) subpackage. Learn neffos from its [wiki](https://github.com/kataras/neffos#learning-neffos). Helpers and type aliases improves your code speed when writing a websocket module. For example, instead of importing both `kataras/iris/websocket` - in order to use its `websocket.Handler` - and `github.com/kataras/neffos` - to create a new websocket server `neffos.New` - you can use the `websocket.New` instead, another example is the `neffos.Conn` which can be declared as `websocket.Conn`. diff --git a/aliases.go b/aliases.go index f83fad7d..49333f2f 100644 --- a/aliases.go +++ b/aliases.go @@ -56,7 +56,7 @@ type ( // // See 'context#UnmarshalBody` for more. // - // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-custom-via-unmarshaler/main.go + // Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-custom-via-unmarshaler/main.go UnmarshalerFunc = context.UnmarshalerFunc // DecodeFunc is a generic type of decoder function. // When the returned error is not nil the decode operation @@ -64,7 +64,7 @@ type ( // otherwise it continues to read the next available object. // Look the `Context.ReadJSONStream` method. // - // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-json-stream. + // Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-json-stream. DecodeFunc = context.DecodeFunc // A Handler responds to an HTTP request. // It writes reply headers and data to the Context.ResponseWriter() and then return. @@ -99,7 +99,7 @@ type ( // Pass a Problem value to `context.Problem` to // write an "application/problem+json" response. // - // Read more at: https://github.com/kataras/iris/blob/master/_examples/routing/http-errors. + // Read more at: https://github.com/kataras/iris/blob/main/_examples/routing/http-errors. // // It is an alias of the `context#Problem` type. Problem = context.Problem @@ -180,7 +180,7 @@ type ( // }) // // See `core/router/Party#SetExecutionRules` for more. - // Example: https://github.com/kataras/iris/tree/master/_examples/mvc/middleware/without-ctx-next + // Example: https://github.com/kataras/iris/tree/main/_examples/mvc/middleware/without-ctx-next ExecutionRules = router.ExecutionRules // ExecutionOptions is a set of default behaviors that can be changed in order to customize the execution flow of the routes' handlers with ease. // @@ -302,7 +302,7 @@ type ( // All view engines have a `RootDir` method for that reason too // but alternatively, you can wrap the given file system with this `PrefixDir`. // -// Example: https://github.com/kataras/iris/blob/master/_examples/file-server/single-page-application/embedded-single-page-application/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/file-server/single-page-application/embedded-single-page-application/main.go func PrefixDir(prefix string, fs http.FileSystem) http.FileSystem { return &prefixedDir{prefix, fs} } @@ -425,7 +425,7 @@ var ( // The second optional parameter is any optional settings that the caller can use. // // See `Party#HandleDir` too. - // Examples can be found at: https://github.com/kataras/iris/tree/master/_examples/file-server + // Examples can be found at: https://github.com/kataras/iris/tree/main/_examples/file-server // A shortcut for the `router.FileServer`. FileServer = router.FileServer // DirList is the default `DirOptions.DirList` field. @@ -461,7 +461,7 @@ var ( // It should be used after Static methods. // See `iris#Cache304` for an alternative, faster way. // - // Examples can be found at: https://github.com/kataras/iris/tree/master/_examples/#caching + // Examples can be found at: https://github.com/kataras/iris/tree/main/_examples/#caching Cache = cache.Handler // NoCache is a middleware which overrides the Cache-Control, Pragma and Expires headers // in order to disable the cache during the browser's back and forward feature. @@ -781,7 +781,7 @@ type GlobalPatches struct { // // See its `Context` method. // -// Example: https://github.com/kataras/iris/blob/master/_examples/response-writer/json-third-party/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/response-writer/json-third-party/main.go func Patches() *GlobalPatches { // singleton. return globalPatches } diff --git a/apps/README.md b/apps/README.md index bfc5d51b..f20cc1e7 100644 --- a/apps/README.md +++ b/apps/README.md @@ -2,7 +2,7 @@ Package `github.com/kataras/iris/v12/apps` provides a globally scoped control over all registered Iris Applications of the same Program. -[Example Application](https://github.com/kataras/iris/tree/master/_examples/routing/subdomains/redirect/multi-instances) +[Example Application](https://github.com/kataras/iris/tree/main/_examples/routing/subdomains/redirect/multi-instances) Below you will find a use case for each feature. diff --git a/auth/auth.go b/auth/auth.go index ce80ce88..b93b9dce 100644 --- a/auth/auth.go +++ b/auth/auth.go @@ -33,7 +33,7 @@ type ( // - SignoutHandler // - SignoutAllHandler // - // Example can be found at: https://github.com/kataras/iris/tree/master/_examples/auth/auth/main.go. + // Example can be found at: https://github.com/kataras/iris/tree/main/_examples/auth/auth/main.go. Auth[T User] struct { // Holds the configuration passed through the New and MustLoad // package-level functions. One or more Auth instance can share the @@ -116,7 +116,7 @@ func Must[T User](s *Auth[T], err error) *Auth[T] { // MustGenerateConfiguration or MustLoadConfiguration // or LoadConfiguration or MustLoad package-level functions. // -// Example can be found at: https://github.com/kataras/iris/tree/master/_examples/auth/auth/main.go. +// Example can be found at: https://github.com/kataras/iris/tree/main/_examples/auth/auth/main.go. func New[T User](config Configuration) (*Auth[T], error) { keys, err := config.validate() if err != nil { diff --git a/auth/provider.go b/auth/provider.go index 7a2e4725..1c6f3029 100644 --- a/auth/provider.go +++ b/auth/provider.go @@ -23,7 +23,7 @@ type VerifiedToken = jwt.VerifiedToken // ErrorHandler all in once when necessary. // Set a provider using the AddProvider method of Auth type. // -// Example can be found at: https://github.com/kataras/iris/tree/master/_examples/auth/auth/user_provider.go. +// Example can be found at: https://github.com/kataras/iris/tree/main/_examples/auth/auth/user_provider.go. type Provider[T User] interface { // Signin accepts a username (or email) and a password and should // return a valid T value or an error describing diff --git a/auth/user.go b/auth/user.go index 5c471fb3..c39b3815 100644 --- a/auth/user.go +++ b/auth/user.go @@ -15,7 +15,7 @@ type ( // User is an alias of an empty interface, it's here to declare the typeof T, // which can be any custom struct type. // - // Example can be found at: https://github.com/kataras/iris/tree/master/_examples/auth/auth/user.go. + // Example can be found at: https://github.com/kataras/iris/tree/main/_examples/auth/auth/user.go. User = any ) diff --git a/cache/cache.go b/cache/cache.go index 5c406719..3031d2d5 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -64,7 +64,7 @@ func Cache(expiration time.Duration) *client.Handler { // Handler like `Cache` but returns an Iris Handler to be used as a middleware. // For more options use the `Cache`. // -// Examples can be found at: https://github.com/kataras/iris/tree/master/_examples/response-writer/cache +// Examples can be found at: https://github.com/kataras/iris/tree/main/_examples/response-writer/cache func Handler(expiration time.Duration) context.Handler { h := Cache(expiration).ServeHTTP return h diff --git a/configuration.go b/configuration.go index 81377bca..1088f316 100644 --- a/configuration.go +++ b/configuration.go @@ -225,7 +225,7 @@ func WithTimeout(timeoutDur time.Duration, htmlBody ...string) Configurator { // // See `Configuration#IgnoreServerErrors []string` too. // -// Example: https://github.com/kataras/iris/tree/master/_examples/http-server/listen-addr/omit-server-errors +// Example: https://github.com/kataras/iris/tree/main/_examples/http-server/listen-addr/omit-server-errors func WithoutServerError(errors ...error) Configurator { return func(app *Application) { if len(errors) == 0 { @@ -502,7 +502,7 @@ func WithOtherValue(key string, val interface{}) Configurator { // If the result does not complete your needs you can take control // and use the github.com/kataras/sitemap package to generate a customized one instead. // -// Example: https://github.com/kataras/iris/tree/master/_examples/sitemap. +// Example: https://github.com/kataras/iris/tree/main/_examples/sitemap. func WithSitemap(startURL string) Configurator { sitemaps := sitemap.New(startURL) return func(app *Application) { @@ -688,7 +688,7 @@ type Configuration struct { // // See `WithoutServerError(...)` function too. // - // Example: https://github.com/kataras/iris/tree/master/_examples/http-server/listen-addr/omit-server-errors + // Example: https://github.com/kataras/iris/tree/main/_examples/http-server/listen-addr/omit-server-errors // // Defaults to an empty slice. IgnoreServerErrors []string `ini:"ignore_server_errors" json:"ignoreServerErrors,omitempty" yaml:"IgnoreServerErrors" toml:"IgnoreServerErrors"` diff --git a/context/context.go b/context/context.go index 69e30f79..97bdd91e 100644 --- a/context/context.go +++ b/context/context.go @@ -70,7 +70,7 @@ type ( // Note: This is totally optionally, the default decoders // for ReadJSON is the encoding/json and for ReadXML is the encoding/xml. // - // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-custom-per-type/main.go + // Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-custom-per-type/main.go BodyDecoder interface { Decode(data []byte) error } @@ -91,7 +91,7 @@ type ( // // See 'Unmarshaler' and 'BodyDecoder' for more. // - // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-custom-via-unmarshaler/main.go + // Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-custom-via-unmarshaler/main.go UnmarshalerFunc func(data []byte, outPtr interface{}) error // DecodeFunc is a generic type of decoder function. @@ -1080,7 +1080,7 @@ func (ctx *Context) Subdomain() (subdomain string) { // this request based on subdomain and request path. // // Order may change. -// Example: https://github.com/kataras/iris/tree/master/_examples/routing/intelligence/manual +// Example: https://github.com/kataras/iris/tree/main/_examples/routing/intelligence/manual func (ctx *Context) FindClosest(n int) []string { return ctx.app.FindClosestPaths(ctx.Subdomain(), ctx.Path(), n) } @@ -1358,7 +1358,7 @@ func (ctx *Context) GetLocale() Locale { // Tr returns a i18n localized message based on format with optional arguments. // See `GetLocale` too. // -// Example: https://github.com/kataras/iris/tree/master/_examples/i18n +// Example: https://github.com/kataras/iris/tree/main/_examples/i18n func (ctx *Context) Tr(key string, args ...interface{}) string { return ctx.app.I18nReadOnly().TrContext(ctx, key, args...) } @@ -2327,7 +2327,7 @@ func (ctx *Context) PostValueSimpleDate(name string) (time.Time, error) { // The default form's memory maximum size is 32MB, it can be changed by the // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. // -// Example: https://github.com/kataras/iris/tree/master/_examples/file-server/upload-file +// Example: https://github.com/kataras/iris/tree/main/_examples/file-server/upload-file func (ctx *Context) FormFile(key string) (multipart.File, *multipart.FileHeader, error) { // we don't have access to see if the request is body stream // and then the ParseMultipartForm can be useless @@ -2406,7 +2406,7 @@ func (ctx *Context) FormFiles(key string, before ...func(*Context, *multipart.Fi // // See `FormFile` and `FormFiles` to a more controlled way to receive a file. // -// Example: https://github.com/kataras/iris/tree/master/_examples/file-server/upload-files +// Example: https://github.com/kataras/iris/tree/main/_examples/file-server/upload-files func (ctx *Context) UploadFormFiles(destDirectory string, before ...func(*Context, *multipart.FileHeader) bool) (uploaded []*multipart.FileHeader, n int64, err error) { err = ctx.request.ParseMultipartForm(ctx.app.ConfigurationReadOnly().GetPostMaxMemory()) if err != nil { @@ -2636,7 +2636,7 @@ type Validator interface { // UnmarshalBody reads the request's body and binds it to a value or pointer of any type // Examples of usage: context.ReadJSON, context.ReadXML. // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-custom-via-unmarshaler/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-custom-via-unmarshaler/main.go func (ctx *Context) UnmarshalBody(outPtr interface{}, unmarshaler Unmarshaler) error { if ctx.request.Body == nil { return fmt.Errorf("unmarshal: empty body: %w", ErrNotFound) @@ -2734,7 +2734,7 @@ var ReadJSON = func(ctx *Context, outPtr interface{}, opts ...JSONReader) error // ReadJSON reads JSON from request's body and binds it to a value of any json-valid type. // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-json/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-json/main.go func (ctx *Context) ReadJSON(outPtr interface{}, opts ...JSONReader) error { return ReadJSON(ctx, outPtr, opts...) } @@ -2748,7 +2748,7 @@ func (ctx *Context) ReadJSON(outPtr interface{}, opts ...JSONReader) error { // It accepts a function which accepts the json Decode function and returns an error. // The second variadic argument is optional and can be used to customize the decoder even further. // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-json-stream/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-json-stream/main.go func (ctx *Context) ReadJSONStream(onDecode func(DecodeFunc) error, opts ...JSONReader) error { decoder := json.NewDecoder(ctx.request.Body) @@ -2780,14 +2780,14 @@ func (ctx *Context) ReadJSONStream(onDecode func(DecodeFunc) error, opts ...JSON // ReadXML reads XML from request's body and binds it to a value of any xml-valid type. // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-xml/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-xml/main.go func (ctx *Context) ReadXML(outPtr interface{}) error { return ctx.UnmarshalBody(outPtr, UnmarshalerFunc(xml.Unmarshal)) } // ReadYAML reads YAML from request's body and binds it to the "outPtr" value. // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-yaml/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-yaml/main.go func (ctx *Context) ReadYAML(outPtr interface{}) error { return ctx.UnmarshalBody(outPtr, UnmarshalerFunc(yaml.Unmarshal)) } @@ -2900,7 +2900,7 @@ const CSRFTokenFormKey = "csrf.token" // As of 15 Aug 2022, ReadForm does not return an error over unknown CSRF token form key, // to change this behavior globally, set the `context.CSRFTokenFormKey` to an empty value. // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-form/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-form/main.go func (ctx *Context) ReadForm(formObject interface{}) error { values := ctx.FormValues() if len(values) == 0 { @@ -3057,7 +3057,7 @@ func distinctStrings(values []string) []string { // ReadQuery binds URL Query to "ptr". The struct field tag is "url". // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-query/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-query/main.go func (ctx *Context) ReadQuery(ptr interface{}) error { values := ctx.getQuery() if len(values) == 0 { @@ -3077,7 +3077,7 @@ func (ctx *Context) ReadQuery(ptr interface{}) error { // ReadHeaders binds request headers to "ptr". The struct field tag is "header". // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-headers/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-headers/main.go func (ctx *Context) ReadHeaders(ptr interface{}) error { err := schema.DecodeHeaders(ctx.request.Header, ptr) if err != nil { @@ -3089,7 +3089,7 @@ func (ctx *Context) ReadHeaders(ptr interface{}) error { // ReadParams binds URI Dynamic Path Parameters to "ptr". The struct field tag is "param". // -// Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-params/main.go +// Example: https://github.com/kataras/iris/blob/main/_examples/request-body/read-params/main.go func (ctx *Context) ReadParams(ptr interface{}) error { n := ctx.params.Len() if n == 0 { @@ -3649,7 +3649,7 @@ func (ctx *Context) ViewEngine(engine ViewEngine) { // // Look .ViewData and .View too. // -// Example: https://github.com/kataras/iris/tree/master/_examples/view/context-view-data/ +// Example: https://github.com/kataras/iris/tree/main/_examples/view/context-view-data/ func (ctx *Context) ViewLayout(layoutTmplFile string) { ctx.values.Set(ctx.app.ConfigurationReadOnly().GetViewLayoutContextKey(), layoutTmplFile) } @@ -3671,7 +3671,7 @@ func (ctx *Context) ViewLayout(layoutTmplFile string) { // // Look .ViewLayout and .View too. // -// Example: https://github.com/kataras/iris/tree/master/_examples/view/context-view-data/ +// Example: https://github.com/kataras/iris/tree/main/_examples/view/context-view-data/ func (ctx *Context) ViewData(key string, value interface{}) { viewDataContextKey := ctx.app.ConfigurationReadOnly().GetViewDataContextKey() if key == "" { @@ -3869,7 +3869,7 @@ func (ctx *Context) FallbackView(providers ...FallbackViewProvider) { // // Look .ViewData and .ViewLayout too. // -// Examples: https://github.com/kataras/iris/tree/master/_examples/view +// Examples: https://github.com/kataras/iris/tree/main/_examples/view func (ctx *Context) View(filename string, optionalViewModel ...interface{}) error { ctx.ContentType(ContentHTMLHeaderValue) @@ -4428,7 +4428,7 @@ func (ctx *Context) XML(v interface{}, opts ...XML) (err error) { // Use the options.RenderXML and XML fields to change this behavior and // send a response of content type "application/problem+xml" instead. // -// Read more at: https://github.com/kataras/iris/blob/master/_examples/routing/http-errors. +// Read more at: https://github.com/kataras/iris/blob/main/_examples/routing/http-errors. func (ctx *Context) Problem(v interface{}, opts ...ProblemOptions) error { options := DefaultProblemOptions if len(opts) > 0 { @@ -4746,7 +4746,7 @@ func parseHeader(headerValue string) []string { // // Supports the above without quality values. // -// Read more at: https://github.com/kataras/iris/tree/master/_examples/response-writer/content-negotiation +// Read more at: https://github.com/kataras/iris/tree/main/_examples/response-writer/content-negotiation func (ctx *Context) Negotiate(v interface{}) (int, error) { contentType, charset, encoding, content := ctx.Negotiation().Build() if v == nil { @@ -5651,7 +5651,7 @@ type SecureCookie interface { // with that `Name` will be encoded on set and decoded on get, that way you can encrypt // specific cookie names (like the session id) and let the rest of the cookies "insecure". // -// Example: https://github.com/kataras/iris/tree/master/_examples/cookies/securecookie +// Example: https://github.com/kataras/iris/tree/main/_examples/cookies/securecookie func CookieEncoding(encoding SecureCookie, cookieNames ...string) CookieOption { if encoding == nil { return func(_ *Context, _ *http.Cookie, _ uint8) {} @@ -5705,7 +5705,7 @@ const cookieOptionsContextKey = "iris.cookie.options" // - CookieExpires // - CookieEncoding // -// Example at: https://github.com/kataras/iris/tree/master/_examples/cookies/securecookie +// Example at: https://github.com/kataras/iris/tree/main/_examples/cookies/securecookie func (ctx *Context) AddCookieOptions(options ...CookieOption) { if len(options) == 0 { return @@ -5745,7 +5745,7 @@ func (ctx *Context) ClearCookieOptions() { // SetCookie adds a cookie. // Use of the "options" is not required, they can be used to amend the "cookie". // -// Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic +// Example: https://github.com/kataras/iris/tree/main/_examples/cookies/basic func (ctx *Context) SetCookie(cookie *http.Cookie, options ...CookieOption) { ctx.applyCookieOptions(cookie, OpCookieSet, options) http.SetCookie(ctx.writer, cookie) @@ -5815,7 +5815,7 @@ var SetCookieKVExpiration = 8760 * time.Hour // iris.CookieExpires(time.Duration) // iris.CookieHTTPOnly(false) // -// Examples: https://github.com/kataras/iris/tree/master/_examples/cookies/basic +// Examples: https://github.com/kataras/iris/tree/main/_examples/cookies/basic func (ctx *Context) SetCookieKV(name, value string, options ...CookieOption) { c := &http.Cookie{} c.Path = "/" @@ -5838,7 +5838,7 @@ func (ctx *Context) SetCookieKV(name, value string, options ...CookieOption) { // If you want more than the value then: // cookie, err := ctx.GetRequestCookie("name") // -// Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic +// Example: https://github.com/kataras/iris/tree/main/_examples/cookies/basic func (ctx *Context) GetCookie(name string, options ...CookieOption) string { c, err := ctx.GetRequestCookie(name, options...) if err != nil { @@ -5871,7 +5871,7 @@ var ( // RemoveCookie deletes a cookie by its name and path = "/". // Tip: change the cookie's path to the current one by: RemoveCookie("name", iris.CookieCleanPath) // -// Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic +// Example: https://github.com/kataras/iris/tree/main/_examples/cookies/basic func (ctx *Context) RemoveCookie(name string, options ...CookieOption) { c := &http.Cookie{} c.Name = name @@ -5966,7 +5966,7 @@ func (ctx *Context) IsRecording() (*ResponseRecorder, bool) { // // app.None(...) and app.GetRoutes().Offline(route)/.Online(route, method) // -// Example: https://github.com/kataras/iris/tree/master/_examples/routing/route-state +// Example: https://github.com/kataras/iris/tree/main/_examples/routing/route-state // // User can get the response by simple using rec := ctx.Recorder(); rec.Body()/rec.StatusCode()/rec.Header(). // @@ -6291,7 +6291,7 @@ const ( // See its `CallFunc` to call the "fn" on the next handler. // // Example at: -// https://github.com/kataras/iris/tree/master/_examples/routing/writing-a-middleware/share-funcs +// https://github.com/kataras/iris/tree/main/_examples/routing/writing-a-middleware/share-funcs func (ctx *Context) SetFunc(name string, fn interface{}, persistenceArgs ...interface{}) { f := newFunc(name, fn, persistenceArgs...) ctx.values.Set(funcsContextPrefixKey+name, f) diff --git a/context/problem.go b/context/problem.go index aef7cfec..2d4a86c4 100644 --- a/context/problem.go +++ b/context/problem.go @@ -14,7 +14,7 @@ import ( // Pass a Problem value to `context.Problem` to // write an "application/problem+json" response. // -// Read more at: https://github.com/kataras/iris/blob/master/_examples/routing/http-errors. +// Read more at: https://github.com/kataras/iris/blob/main/_examples/routing/http-errors. type Problem map[string]interface{} // NewProblem retruns a new Problem. diff --git a/context/request_params.go b/context/request_params.go index 293ece03..7d8fec45 100644 --- a/context/request_params.go +++ b/context/request_params.go @@ -233,7 +233,7 @@ func (r *RequestParams) GetIntUnslashed(key string) (int, bool) { // } // } // -// Read https://github.com/kataras/iris/tree/master/_examples/routing/macros for more details. +// Read https://github.com/kataras/iris/tree/main/_examples/routing/macros for more details. // Checks for total available request parameters length // and parameter index based on the hero/mvc function added // in order to support the MVC.HandleMany("GET", "/path/{ps}/{pssecond} /path/{ps}") diff --git a/core/router/api_builder.go b/core/router/api_builder.go index 5b306abb..c2b84813 100644 --- a/core/router/api_builder.go +++ b/core/router/api_builder.go @@ -496,7 +496,7 @@ func (api *APIBuilder) AllowMethods(methods ...string) Party { // // Returns this Party. // -// Example: https://github.com/kataras/iris/tree/master/_examples/mvc/middleware/without-ctx-next +// Example: https://github.com/kataras/iris/tree/main/_examples/mvc/middleware/without-ctx-next func (api *APIBuilder) SetExecutionRules(executionRules ExecutionRules) Party { api.handlerExecutionRules = executionRules return api @@ -631,7 +631,7 @@ func (api *APIBuilder) HandleMany(methodOrMulti string, relativePathorMulti stri // HandleDir("/public",subFilesystem, DirOptions{...}) // // Examples: -// https://github.com/kataras/iris/tree/master/_examples/file-server +// https://github.com/kataras/iris/tree/main/_examples/file-server func (api *APIBuilder) HandleDir(requestPath string, fsOrDir interface{}, opts ...DirOptions) (routes []*Route) { options := DefaultDirOptions if len(opts) > 0 { @@ -1036,7 +1036,7 @@ func (api *APIBuilder) WildcardSubdomain(middleware ...context.Handler) Party { // Macros returns the macro collection that is responsible // to register custom macros with their own parameter types and their macro functions for all routes. // -// Learn more at: https://github.com/kataras/iris/tree/master/_examples/routing/dynamic-path +// Learn more at: https://github.com/kataras/iris/tree/main/_examples/routing/dynamic-path func (api *APIBuilder) Macros() *macro.Macros { return api.macros } @@ -1692,7 +1692,7 @@ func (api *APIBuilder) FallbackView(provider context.FallbackViewProvider) { // } // }) // -// Examples: https://github.com/kataras/iris/tree/master/_examples/view +// Examples: https://github.com/kataras/iris/tree/main/_examples/view func (api *APIBuilder) Layout(tmplLayoutFile string) Party { handler := func(ctx *context.Context) { ctx.ViewLayout(tmplLayoutFile) diff --git a/core/router/fs.go b/core/router/fs.go index e6a91532..2bacd5f8 100644 --- a/core/router/fs.go +++ b/core/router/fs.go @@ -161,7 +161,7 @@ var DefaultDirOptions = DirOptions{ // The second parameter is the settings that the caller can use to customize the behavior. // // See `Party#HandleDir` too. -// Examples can be found at: https://github.com/kataras/iris/tree/master/_examples/file-server +// Examples can be found at: https://github.com/kataras/iris/tree/main/_examples/file-server func FileServer(fs http.FileSystem, options DirOptions) context.Handler { if fs == nil { panic("FileServer: fs is nil. The fs parameter should point to a file system of physical system directory or to an embedded one") diff --git a/core/router/party.go b/core/router/party.go index 9720c5f2..814fc272 100644 --- a/core/router/party.go +++ b/core/router/party.go @@ -119,7 +119,7 @@ type Party interface { // Macros returns the macro collection that is responsible // to register custom macros with their own parameter types and their macro functions for all routes. // - // Learn more at: https://github.com/kataras/iris/tree/master/_examples/routing/dynamic-path + // Learn more at: https://github.com/kataras/iris/tree/main/_examples/routing/dynamic-path Macros() *macro.Macros // Properties returns the original Party's properties map, @@ -285,7 +285,7 @@ type Party interface { // // Returns this Party. // - // Example: https://github.com/kataras/iris/tree/master/_examples/mvc/middleware/without-ctx-next + // Example: https://github.com/kataras/iris/tree/main/_examples/mvc/middleware/without-ctx-next SetExecutionRules(executionRules ExecutionRules) Party // SetRegisterRule sets a `RouteRegisterRule` for this Party and its children. // Available values are: @@ -335,7 +335,7 @@ type Party interface { // HandleDir("/public", iris.Dir("./assets"), DirOptions{...}) // // Examples: - // https://github.com/kataras/iris/tree/master/_examples/file-server + // https://github.com/kataras/iris/tree/main/_examples/file-server HandleDir(requestPath string, fileSystem interface{}, opts ...DirOptions) []*Route // None registers an "offline" route @@ -458,6 +458,6 @@ type Party interface { // } // }) // - // Examples: https://github.com/kataras/iris/tree/master/_examples/view + // Examples: https://github.com/kataras/iris/tree/main/_examples/view Layout(tmplLayoutFile string) Party } diff --git a/core/router/router_subdomain_redirect.go b/core/router/router_subdomain_redirect.go index 59014fa1..5836c255 100644 --- a/core/router/router_subdomain_redirect.go +++ b/core/router/router_subdomain_redirect.go @@ -62,7 +62,7 @@ func pathIsWildcard(partyRelPath string) bool { // NewSubdomainRedirectWrapper may return nil if not allowed input arguments values were received // but in that case, the `AddRouterWrapper` will, simply, ignore that wrapper. // -// Example: https://github.com/kataras/iris/tree/master/_examples/routing/subdomains/redirect +// Example: https://github.com/kataras/iris/tree/main/_examples/routing/subdomains/redirect func NewSubdomainRedirectWrapper(rootDomainGetter func() string, from, to string) WrapperFunc { // we can return nil, // because if wrapper is nil then it's not be used on the `router#AddRouterWrapper`. diff --git a/doc.go b/doc.go index 352dee9c..06cb3f84 100644 --- a/doc.go +++ b/doc.go @@ -24,11 +24,11 @@ Wiki: Examples: - https://github.com/kataras/iris/tree/master/_examples + https://github.com/kataras/iris/tree/main/_examples Middleware: - https://github.com/kataras/iris/tree/master/middleware + https://github.com/kataras/iris/tree/main/middleware https://github.com/iris-contrib/middleware Home Page: diff --git a/hero/func_result.go b/hero/func_result.go index 949d140a..f213f09f 100644 --- a/hero/func_result.go +++ b/hero/func_result.go @@ -51,7 +51,7 @@ func defaultResultHandler(ctx *context.Context, v interface{}) error { // All types that complete this interface // can be returned as values from the method functions. // -// Example at: https://github.com/kataras/iris/tree/master/_examples/dependency-injection/overview. +// Example at: https://github.com/kataras/iris/tree/main/_examples/dependency-injection/overview. type Result interface { // Dispatch should send a response to the client. Dispatch(*context.Context) @@ -84,7 +84,7 @@ var defaultFailureResponse = Response{Code: DefaultErrStatusCode} // otherwise it returns the "failure" response if any, // if not then a 400 bad request is being sent. // -// Example usage at: https://github.com/kataras/iris/blob/master/hero/func_result_test.go. +// Example usage at: https://github.com/kataras/iris/blob/main/hero/func_result_test.go. func Try(fn func() Result, failure ...Result) Result { var failed bool var actionResponse Result @@ -465,7 +465,7 @@ func (r Response) Dispatch(ctx *context.Context) { // wraps the template file name, layout, (any) view data, status code and error. // It's smart enough to complete the request and send the correct response to the client. // -// Example at: https://github.com/kataras/iris/blob/master/_examples/dependency-injection/overview/web/routes/hello.go. +// Example at: https://github.com/kataras/iris/blob/main/_examples/dependency-injection/overview/web/routes/hello.go. type View struct { Name string Layout string diff --git a/httptest/httptest.go b/httptest/httptest.go index 1383cce7..2ef74124 100644 --- a/httptest/httptest.go +++ b/httptest/httptest.go @@ -104,8 +104,8 @@ func DefaultConfiguration() *Configuration { // // httptest.New(t, app, httptest.URL(...), httptest.Debug(true), httptest.LogLevel("debug"), httptest.Strict(true)) // -// Examples at: https://github.com/kataras/iris/tree/master/_examples/testing/httptest and -// https://github.com/kataras/iris/tree/master/_examples/testing/ginkgotest. +// Examples at: https://github.com/kataras/iris/tree/main/_examples/testing/httptest and +// https://github.com/kataras/iris/tree/main/_examples/testing/ginkgotest. func New(t IrisTesty, app *iris.Application, setters ...OptionSetter) *httpexpect.Expect { conf := DefaultConfiguration() for _, setter := range setters { diff --git a/i18n/i18n.go b/i18n/i18n.go index b42a9867..4da4ce70 100644 --- a/i18n/i18n.go +++ b/i18n/i18n.go @@ -113,7 +113,7 @@ func makeTags(languages ...string) (tags []language.Tag) { } // New returns a new `I18n` instance. Use its `Load` or `LoadAssets` to load languages. -// Examples at: https://github.com/kataras/iris/tree/master/_examples/i18n. +// Examples at: https://github.com/kataras/iris/tree/main/_examples/i18n. func New() *I18n { i := &I18n{ Loader: DefaultLoaderConfig, @@ -146,7 +146,7 @@ func (i *I18n) LoadAssets(assetNames func() []string, asset func(string) ([]byte // The "pattern" is a classic glob pattern. // // See `New` and `FS` package-level functions for more. -// Example: https://github.com/kataras/iris/blob/master/_examples/i18n/template-embedded/main.go. +// Example: https://github.com/kataras/iris/blob/main/_examples/i18n/template-embedded/main.go. func (i *I18n) LoadFS(fileSystem fs.FS, pattern string, languages ...string) error { loader, err := FS(fileSystem, pattern, i.Loader) if err != nil { diff --git a/iris.go b/iris.go index 29a5bb86..7ce0914c 100644 --- a/iris.go +++ b/iris.go @@ -247,7 +247,7 @@ func (app *Application) WWW() router.Party { // If you need more information about this implementation then you have to navigate through // the `core/router#NewSubdomainRedirectWrapper` function instead. // -// Example: https://github.com/kataras/iris/tree/master/_examples/routing/subdomains/redirect +// Example: https://github.com/kataras/iris/tree/main/_examples/routing/subdomains/redirect func (app *Application) SubdomainRedirect(from, to router.Party) router.Party { sd := router.NewSubdomainRedirectWrapper(app.ConfigurationReadOnly().GetVHost, from.GetRelPath(), to.GetRelPath()) app.Router.AddRouterWrapper(sd) @@ -803,7 +803,7 @@ type Runner func(*Application) error // Via host configurators you can configure the back-end host supervisor, // i.e to add events for shutdown, serve or error. // An example of this use case can be found at: -// https://github.com/kataras/iris/blob/master/_examples/http-server/notify-on-shutdown/main.go +// https://github.com/kataras/iris/blob/main/_examples/http-server/notify-on-shutdown/main.go // Look at the `ConfigureHost` too. // // See `Run` for more. @@ -825,7 +825,7 @@ func Listener(l net.Listener, hostConfigs ...host.Configurator) Runner { // Via host configurators you can configure the back-end host supervisor, // i.e to add events for shutdown, serve or error. // An example of this use case can be found at: -// https://github.com/kataras/iris/blob/master/_examples/http-server/notify-on-shutdown/main.go +// https://github.com/kataras/iris/blob/main/_examples/http-server/notify-on-shutdown/main.go // Look at the `ConfigureHost` too. // // See `Run` for more. @@ -849,7 +849,7 @@ func Server(srv *http.Server, hostConfigs ...host.Configurator) Runner { // Via host configurators you can configure the back-end host supervisor, // i.e to add events for shutdown, serve or error. // An example of this use case can be found at: -// https://github.com/kataras/iris/blob/master/_examples/http-server/notify-on-shutdown/main.go +// https://github.com/kataras/iris/blob/main/_examples/http-server/notify-on-shutdown/main.go // Look at the `ConfigureHost` too. // // See `Run` for more. @@ -910,7 +910,7 @@ var ( // Via host configurators you can configure the back-end host supervisor, // i.e to add events for shutdown, serve or error. // An example of this use case can be found at: -// https://github.com/kataras/iris/blob/master/_examples/http-server/notify-on-shutdown/main.go +// https://github.com/kataras/iris/blob/main/_examples/http-server/notify-on-shutdown/main.go // Look at the `ConfigureHost` too. // // See `Run` for more. @@ -949,7 +949,7 @@ func TLS(addr string, certFileOrContents, keyFileOrContents string, hostConfigs // Via host configurators you can configure the back-end host supervisor, // i.e to add events for shutdown, serve or error. // An example of this use case can be found at: -// https://github.com/kataras/iris/blob/master/_examples/http-server/notify-on-shutdown/main.go +// https://github.com/kataras/iris/blob/main/_examples/http-server/notify-on-shutdown/main.go // Look at the `ConfigureHost` too. // // Usage: diff --git a/macro/macros.go b/macro/macros.go index 7b7c19d0..f3adfc8f 100644 --- a/macro/macros.go +++ b/macro/macros.go @@ -513,7 +513,7 @@ var ( // Defaults contains the defaults macro and parameters types for the router. // - // Read https://github.com/kataras/iris/tree/master/_examples/routing/macros for more details. + // Read https://github.com/kataras/iris/tree/main/_examples/routing/macros for more details. Defaults = &Macros{ String, Int, @@ -549,7 +549,7 @@ type Macros []*Macro // The "evaluator" is the function that is converted to an Iris handler which is executed every time // before the main chain of a route's handlers that contains this macro of the specific parameter type. // -// Read https://github.com/kataras/iris/tree/master/_examples/routing/macros for more details. +// Read https://github.com/kataras/iris/tree/main/_examples/routing/macros for more details. func (ms *Macros) Register(indent, alias string, isMaster, isTrailing bool, evaluator ParamEvaluator) *Macro { macro := NewMacro(indent, alias, isMaster, isTrailing, evaluator) if ms.register(macro) { diff --git a/middleware/README.md b/middleware/README.md index 197c6762..3bcdd3a2 100644 --- a/middleware/README.md +++ b/middleware/README.md @@ -3,17 +3,17 @@ Builtin Handlers | Middleware | Example | | -----------|-------------| -| [rewrite](rewrite) | [iris/_examples/routing/rewrite](https://github.com/kataras/iris/tree/master/_examples/routing/rewrite) | -| [basic authentication](basicauth) | [iris/_examples/auth/basicauth](https://github.com/kataras/iris/tree/master/_examples/auth/basicauth) | -| [request logger](logger) | [iris/_examples/logging/request-logger](https://github.com/kataras/iris/tree/master/_examples/logging/request-logger) | -| [HTTP method override](methodoverride) | [iris/middleware/methodoverride/methodoverride_test.go](https://github.com/kataras/iris/blob/master/middleware/methodoverride/methodoverride_test.go) | -| [profiling (pprof)](pprof) | [iris/_examples/pprof](https://github.com/kataras/iris/tree/master/_examples/pprof) | -| [Google reCAPTCHA](recaptcha) | [iris/_examples/auth/recaptcha](https://github.com/kataras/iris/tree/master/_examples/auth/recaptcha) | -| [hCaptcha](hcaptcha) | [iris/_examples/auth/recaptcha](https://github.com/kataras/iris/tree/master/_examples/auth/hcaptcha) | -| [recovery](recover) | [iris/_examples/recover](https://github.com/kataras/iris/tree/master/_examples/recover) | -| [rate](rate) | [iris/_examples/request-ratelimit](https://github.com/kataras/iris/tree/master/_examples/request-ratelimit) | -| [jwt](jwt) | [iris/_examples/auth/jwt](https://github.com/kataras/iris/tree/master/_examples/auth/jwt) | -| [requestid](requestid) | [iris/middleware/requestid/requestid_test.go](https://github.com/kataras/iris/blob/master/_examples/middleware/requestid/requestid_test.go) | +| [rewrite](rewrite) | [iris/_examples/routing/rewrite](https://github.com/kataras/iris/tree/main/_examples/routing/rewrite) | +| [basic authentication](basicauth) | [iris/_examples/auth/basicauth](https://github.com/kataras/iris/tree/main/_examples/auth/basicauth) | +| [request logger](logger) | [iris/_examples/logging/request-logger](https://github.com/kataras/iris/tree/main/_examples/logging/request-logger) | +| [HTTP method override](methodoverride) | [iris/middleware/methodoverride/methodoverride_test.go](https://github.com/kataras/iris/blob/main/middleware/methodoverride/methodoverride_test.go) | +| [profiling (pprof)](pprof) | [iris/_examples/pprof](https://github.com/kataras/iris/tree/main/_examples/pprof) | +| [Google reCAPTCHA](recaptcha) | [iris/_examples/auth/recaptcha](https://github.com/kataras/iris/tree/main/_examples/auth/recaptcha) | +| [hCaptcha](hcaptcha) | [iris/_examples/auth/recaptcha](https://github.com/kataras/iris/tree/main/_examples/auth/hcaptcha) | +| [recovery](recover) | [iris/_examples/recover](https://github.com/kataras/iris/tree/main/_examples/recover) | +| [rate](rate) | [iris/_examples/request-ratelimit](https://github.com/kataras/iris/tree/main/_examples/request-ratelimit) | +| [jwt](jwt) | [iris/_examples/auth/jwt](https://github.com/kataras/iris/tree/main/_examples/auth/jwt) | +| [requestid](requestid) | [iris/middleware/requestid/requestid_test.go](https://github.com/kataras/iris/blob/main/_examples/middleware/requestid/requestid_test.go) | Community made ------------ @@ -38,14 +38,14 @@ Most of the experimental handlers are ported to work with _iris_'s handler form, Third-Party Handlers ------------ -Iris has its own middleware form of `func(ctx iris.Context)` but it's also compatible with all `net/http` middleware forms. See [here](https://github.com/kataras/iris/tree/master/_examples/convert-handlers). +Iris has its own middleware form of `func(ctx iris.Context)` but it's also compatible with all `net/http` middleware forms. See [here](https://github.com/kataras/iris/tree/main/_examples/convert-handlers). Here's a small list of useful third-party handlers: | Middleware | Description | | -----------|-------------| -| [goth](https://github.com/markbates/goth) | OAuth, OAuth2 authentication. [Example](https://github.com/kataras/iris/tree/master/_examples/auth/goth) | -| [permissions2](https://github.com/xyproto/permissions2) | Cookies, users and permissions. [Example](https://github.com/kataras/iris/tree/master/_examples/auth/permissions) | +| [goth](https://github.com/markbates/goth) | OAuth, OAuth2 authentication. [Example](https://github.com/kataras/iris/tree/main/_examples/auth/goth) | +| [permissions2](https://github.com/xyproto/permissions2) | Cookies, users and permissions. [Example](https://github.com/kataras/iris/tree/main/_examples/auth/permissions) | | [csp](https://github.com/awakenetworks/csp) | [Content Security Policy](https://www.w3.org/TR/CSP2/) (CSP) support | | [delay](https://github.com/jeffbmartinez/delay) | Add delays/latency to endpoints. Useful when testing effects of high latency | | [onthefly](https://github.com/xyproto/onthefly) | Generate TinySVG, HTML and CSS on the fly | diff --git a/middleware/accesslog/accesslog.go b/middleware/accesslog/accesslog.go index 155f58c4..a9f4d277 100644 --- a/middleware/accesslog/accesslog.go +++ b/middleware/accesslog/accesslog.go @@ -260,9 +260,9 @@ const ( // See `File` package-level function too. // // Examples: -// https://github.com/kataras/iris/tree/master/_examples/logging/request-logger/accesslog -// https://github.com/kataras/iris/tree/master/_examples/logging/request-logger/accesslog-template -// https://github.com/kataras/iris/tree/master/_examples/logging/request-logger/accesslog-broker +// https://github.com/kataras/iris/tree/main/_examples/logging/request-logger/accesslog +// https://github.com/kataras/iris/tree/main/_examples/logging/request-logger/accesslog-template +// https://github.com/kataras/iris/tree/main/_examples/logging/request-logger/accesslog-broker func New(w io.Writer) *AccessLog { ac := &AccessLog{ Clock: clockFunc(time.Now), diff --git a/middleware/rewrite/rewrite.go b/middleware/rewrite/rewrite.go index 3a40c778..8c2c2be0 100644 --- a/middleware/rewrite/rewrite.go +++ b/middleware/rewrite/rewrite.go @@ -63,7 +63,10 @@ func LoadOptions(filename string) (opts Options) { return } -// Engine is the rewrite engine master structure. +// Rewrite is a struct that represents a rewrite engine for Iris web framework. +// It contains a slice of redirect rules, an options struct, a logger, and a domain validator function. +// It provides methods to create, configure, and apply rewrite rules to HTTP requests and responses. +// // Navigate through _examples/routing/rewrite for more. type Engine struct { redirects []*redirectMatch diff --git a/mvc/mvc.go b/mvc/mvc.go index 981387cb..0406542b 100644 --- a/mvc/mvc.go +++ b/mvc/mvc.go @@ -258,7 +258,7 @@ var IgnoreEmbedded OptionFunc = func(c *ControllerActivator) { // Default behavior can be changed through second, variadic, variable "options", // e.g. Handle(controller, GRPC {Server: grpcServer, Strict: true}) // -// Examples at: https://github.com/kataras/iris/tree/master/_examples/mvc +// Examples at: https://github.com/kataras/iris/tree/main/_examples/mvc func (app *Application) Handle(controller interface{}, options ...Option) *Application { c := app.handle(controller, options...) // Note: log on register-time, so they can catch any failures before build. diff --git a/view/README.md b/view/README.md index 84914048..d0a947f7 100644 --- a/view/README.md +++ b/view/README.md @@ -16,11 +16,11 @@ Parse using embedded assets, Layouts and Party-specific layout, Template Funcs, | 6 | Jet | [CloudyKit/jet](https://github.com/CloudyKit/jet) | | 7 | Ace | [yosssi/ace](https://github.com/yosssi/ace) | -[List of Examples](https://github.com/kataras/iris/tree/master/_examples/view). +[List of Examples](https://github.com/kataras/iris/tree/main/_examples/view). -[Benchmarks](https://github.com/kataras/iris/tree/master/_benchmarks/view). +[Benchmarks](https://github.com/kataras/iris/tree/main/_benchmarks/view). -You can serve [quicktemplate](https://github.com/valyala/quicktemplate) files too, simply by using the `Context.ResponseWriter`, take a look at the [iris/_examples/view/quicktemplate](https://github.com/kataras/iris/tree/master/_examples/view/quicktemplate) example. +You can serve [quicktemplate](https://github.com/valyala/quicktemplate) files too, simply by using the `Context.ResponseWriter`, take a look at the [iris/_examples/view/quicktemplate](https://github.com/kataras/iris/tree/main/_examples/view/quicktemplate) example. ## Overview @@ -162,7 +162,7 @@ func hi(ctx iris.Context) { } ``` -Examples can be found here: https://github.com/kataras/iris/tree/master/_examples/view/embedding-templates-into-app and https://github.com/kataras/iris/tree/master/_examples/view/embedding-templates-into-app-bindata. +Examples can be found here: https://github.com/kataras/iris/tree/main/_examples/view/embedding-templates-into-app and https://github.com/kataras/iris/tree/main/_examples/view/embedding-templates-into-app-bindata. ## Reload diff --git a/view/pug.go b/view/pug.go index bcf14b73..8956716d 100644 --- a/view/pug.go +++ b/view/pug.go @@ -20,10 +20,10 @@ import ( // Pug(embed.FS, ".pug") or Pug(AssetFile(), ".pug") for embedded data. // // Examples: -// https://github.com/kataras/iris/tree/master/_examples/view/template_pug_0 -// https://github.com/kataras/iris/tree/master/_examples/view/template_pug_1 -// https://github.com/kataras/iris/tree/master/_examples/view/template_pug_2 -// https://github.com/kataras/iris/tree/master/_examples/view/template_pug_3 +// https://github.com/kataras/iris/tree/main/_examples/view/template_pug_0 +// https://github.com/kataras/iris/tree/main/_examples/view/template_pug_1 +// https://github.com/kataras/iris/tree/main/_examples/view/template_pug_2 +// https://github.com/kataras/iris/tree/main/_examples/view/template_pug_3 func Pug(fs interface{}, extension string) *HTMLEngine { s := HTML(fs, extension) s.name = "Pug" diff --git a/x/errors/errors.go b/x/errors/errors.go index bf6dfe78..c7dad7dc 100644 --- a/x/errors/errors.go +++ b/x/errors/errors.go @@ -240,7 +240,7 @@ var ( // // Examples can be found at: // -// https://github.com/kataras/iris/tree/master/_examples/routing/http-wire-errors. +// https://github.com/kataras/iris/tree/main/_examples/routing/http-wire-errors. type Error struct { ErrorCode ErrorCode `json:"http_error_code" yaml:"HTTPErrorCode"` Message string `json:"message,omitempty" yaml:"Message"` diff --git a/x/errors/validation_error.go b/x/errors/validation_error.go index 6c199546..7ab7b7eb 100644 --- a/x/errors/validation_error.go +++ b/x/errors/validation_error.go @@ -14,7 +14,7 @@ import ( // // Example can be found at: // -// https://github.com/kataras/iris/tree/master/_examples/routing/http-wire-errors/custom-validation-errors +// https://github.com/kataras/iris/tree/main/_examples/routing/http-wire-errors/custom-validation-errors type ValidationError interface { error