diff --git a/README.md b/README.md index 01ebcd90..fb789271 100644 --- a/README.md +++ b/README.md @@ -139,10 +139,9 @@ I recommend writing your API tests using this new library, [httpexpect](https:// Versioning ------------ -Current: **v3.0.0-pre.release** +Current: **v3.0.0** > Iris is an active project - Read more about Semantic Versioning 2.0.0 - http://semver.org/ @@ -152,13 +151,20 @@ Read more about Semantic Versioning 2.0.0 Todo ------------ -> for the next release 'v3' +> for the next version 'v4' + +- [ ] Refactor & extend view engine, separate the engines from the main code base, easier for the community to create new view engines. +- [ ] Create a router as optional plugin, for optional path parts. Its name, 'ryan', taken from the community-member and donator who requested this feature. +- [ ] Extend the iris control plugin +- [ ] Remove deprecated functions. + +> completed for release 'v3' - [x] [Dynamic/Wildcard subdomains](https://kataras.gitbooks.io/iris/content/subdomains.html) - [x] [Create server & client side](https://kataras.gitbooks.io/iris/content/package-websocket.html) (js) library for .on('event', func action(...)) / .emit('event')... (like socket.io but supports only websocket) -- [x] [Create a view system](https://kataras.gitbooks.io/iris/content/render_templates.html) supporting different types of template engines +- [x] [Create a view engines system](https://kataras.gitbooks.io/iris/content/render_templates.html) supporting different types of template engines - [x] Extend, test and publish to the public the [Iris' cmd](https://github.com/kataras/iris/tree/master/iris)[*](https://github.com/kataras/rizla) -- [ ] Complete the API tests, community can help also, tests are located [here](https://github.com/iris-contrib/tests). +- [x] Complete the API tests, community can help also, tests are located [here](https://github.com/iris-contrib/tests). If you're **willing to donate** click [here](DONATIONS.md)! @@ -185,7 +191,7 @@ License can be found [here](LICENSE). [Travis]: http://travis-ci.org/kataras/iris [License Widget]: https://img.shields.io/badge/license-MIT%20%20License%20-E91E63.svg?style=flat-square [License]: https://github.com/kataras/iris/blob/master/LICENSE -[Release Widget]: https://img.shields.io/badge/release-v3.0.0--pre.release-blue.svg?style=flat-square +[Release Widget]: https://img.shields.io/badge/release-v3.0.0-blue.svg?style=flat-square [Release]: https://github.com/kataras/iris/releases [Chat Widget]: https://img.shields.io/badge/community-chat-00BCD4.svg?style=flat-square [Chat]: https://kataras.rocket.chat/channel/iris diff --git a/context.go b/context.go index aaebed1d..6721c5a7 100644 --- a/context.go +++ b/context.go @@ -78,6 +78,7 @@ var ( type ( // Map is just a conversion for a map[string]interface{} + // should not be used inside Render when PongoEngine is used. Map map[string]interface{} // Context is resetting every time a request is coming to the server // it is not good practice to use this object in goroutines, for these cases use the .Clone() diff --git a/http.go b/http.go index f5da32ce..70c30595 100644 --- a/http.go +++ b/http.go @@ -1153,10 +1153,12 @@ type ( Method() string // Path returns the path Path() string - // SetPath changes/sets the path for the Route + // SetPath changes/sets the path for this route SetPath(string) // Middleware returns the slice of Handler([]Handler) registed to this route Middleware() Middleware + // SetMiddleware changes/sets the middleware(handler(s)) for this route + SetMiddleware(Middleware) } route struct { @@ -1254,6 +1256,10 @@ func (r route) Middleware() Middleware { return r.middleware } +func (r *route) SetMiddleware(m Middleware) { + r.middleware = m +} + const ( // subdomainIndicator where './' exists in a registed path then it contains subdomain subdomainIndicator = "./" diff --git a/iris.go b/iris.go index fd4a2f25..53d94149 100644 --- a/iris.go +++ b/iris.go @@ -81,7 +81,7 @@ import ( const ( // Version of the iris - Version = "3.0.0-pre.release" + Version = "3.0.0" // HTMLEngine conversion for config.HTMLEngine HTMLEngine = config.HTMLEngine