Commit Graph

1177 Commits

Author SHA1 Message Date
Gerasimos (Makis) Maropoulos
e1c65d23fb finish the first state of the vuejs todo mvc example, a simple rest api - todo: websocket and live updates between browser tabs with the same session id
Former-commit-id: 0bd859420cff87014479c44a471ec273c621c1a2
2017-12-23 17:07:39 +02:00
Gerasimos (Makis) Maropoulos
a2f217be17 Merge branch 'master' into dev
Former-commit-id: ff754fb445bdc579c1d7925fcc9315e5ffc92615
2017-12-22 11:12:41 +02:00
Gerasimos (Makis) Maropoulos
93b037737c add comment doc on the core/memstore.go#Entry##GetByKindOrNil
Former-commit-id: 8e5f0132ace95088a7cdca05b923773369116ad4
2017-12-22 11:12:10 +02:00
Gerasimos (Makis) Maropoulos
a5a87706c1 misspell fix
Former-commit-id: e301671f86118ad6ac686fd3e43b3cba92dbbff1
2017-12-22 11:08:16 +02:00
Gerasimos (Makis) Maropoulos
12ef034ea1 add some comment docs at the mvc/controller.go
Former-commit-id: 6ff3c8694c3e581c3e28fc706bddbc6759492280
2017-12-22 11:07:13 +02:00
Gerasimos (Makis) Maropoulos
b8b9643ca7 Remove big README examples, will be replaced with small quick examples so new users can found easier to get started
Former-commit-id: d5e804babf0edc0765a4195247071e410b27ea27
2017-12-22 10:25:34 +02:00
Gerasimos (Makis) Maropoulos
ef3a09c126 update the documents for the new MVC API and some of its new features but not finished yet, README big examples and _examples/mvc/login is are yet updated and I'm thinking of removing the big examples on README.md, they exist on the _examples/mvc updated.
Former-commit-id: c2938d4bcaa3520744526f7975ee3cce632499b3
2017-12-22 10:18:31 +02:00
Gerasimos (Makis) Maropoulos
91ee8287a8 Merge branch 'master' into dev
Former-commit-id: d338e6e846b4379199015dc4ae76677b2d8cbe53
2017-12-21 14:46:58 +02:00
Gerasimos (Makis) Maropoulos
e4ed775ce0 Merge branch 'master' of https://github.com/kataras/iris
Former-commit-id: 0dee4c6be389f47f938ba71c64d2224d610f7720
2017-12-21 14:43:15 +02:00
Gerasimos (Makis) Maropoulos
5cbc3d6827 fix https://github.com/kataras/iris/issues/846
Former-commit-id: 5ade70e6133406c8bbb4ecef36541fdd0d857f6f
2017-12-21 14:42:39 +02:00
Gerasimos (Makis) Maropoulos
8fa33a9882 fix typo
Former-commit-id: 1aaca0e3473003d00f19af9d16cf6f29f3f526a2
2017-12-20 18:10:57 +02:00
Gerasimos (Makis) Maropoulos
254a4ede95 add explanation why the 'globalVisitorsController' example is a Singleton, because it was not clear for new gophers previously.
Former-commit-id: 9267c415e53eeb00adadf6fde9e0aeeb415cf24a
2017-12-20 18:09:31 +02:00
Gerasimos (Makis) Maropoulos
2042fddb66 Another new feature: websocket controller, for real
Former-commit-id: c1a59b86733e890709b52446e22427a17d87f5fc
2017-12-20 17:56:28 +02:00
Gerasimos (Makis) Maropoulos
b78698f6c0 fix all _examples to the newest mvc, add comments to those examples and add a package-level .Configure in order to make it easier for new users. Add a deprecated panic if app.Controller is used with a small tutorial and future resource link so they can re-write their mvc app's definitions
Former-commit-id: bf07696041be9e3d178ce3c42ccec2df4bfdb2af
2017-12-20 08:33:53 +02:00
Gerasimos (Makis) Maropoulos
fd0f3ed6cb fix check for singleton on fillStruct - no problem let's set all the static values on the first value although it may never be needed if request-scoped/stateless (No Singleton di.State)
Former-commit-id: a72bcd720d900fdc009cabb1e4a0b455026710fd
2017-12-20 00:09:17 +02:00
Gerasimos (Makis) Maropoulos
6285622cfa controller's struct: if unexported field(s) is set-ed manually (binder cannot do that) and no other dynamic dependency(depends on context) then tag the controller as singleton, use a single controller instance to serve all clients (the controller's methods are per-request of course but its(controller's) fields will be 'global'- users should be careful because parallel access of those fields are up to them by using mutex or atomic or values that are safe for concurrent access.
Former-commit-id: dfafcb3a37a9b33d713bf47f16dd60764b026a08
2017-12-20 00:01:50 +02:00
Gerasimos (Makis) Maropoulos
c15763c556 ok make it cleaner, it's working well and blazing fast but I have to do a lot cleaning and commenting and docs as well before push it to master --- hope at christmas day, also thinking some internal ideas - the whole code is not ready to be readen by a third person yet.
Former-commit-id: 0b3fb2841d5032ff47bdca42a6f4ccfeb789ce3c
2017-12-19 23:40:42 +02:00
Gerasimos (Makis) Maropoulos
5d08049ac6 Merge pull request #843
Former-commit-id: 0d48055311feff7327bed6e3dd5b6ce5f267206c
2017-12-19 15:00:12 +02:00
Gerasimos (Makis) Maropoulos
43444ebe12 Merge pull request #845
fix a typo

Former-commit-id: da04283fe4da50ffe7086b19f4ddc179538ae202
2017-12-19 14:57:40 +02:00
Wing Gao
fef59c4c0b Merge commit '67341251b8439e2064b3f8cc987313822bed23d0 [formerly c88b33d218dadc9f2e9b60366c39ba2049e68e3b]' into wing
Former-commit-id: bfbf0671b4a02aae27695a3a6cb4f134ce41102c
2017-12-18 20:11:28 +08:00
Cody Oss
835e2f8c08 fix another minor typo
Former-commit-id: 0961f0882e63d3d43ef8c176a873bcd4e0d155ec
2017-12-18 00:25:57 -06:00
Gerasimos (Makis) Maropoulos
4261b5784a Merge branch 'master' into dev
Former-commit-id: 108537a683ca23436c3279d6205ee7a8c9300939
2017-12-18 07:28:52 +02:00
Gerasimos (Makis) Maropoulos
67341251b8 Be prepared, 2018 is the year of Iris. Note on README
Former-commit-id: c88b33d218dadc9f2e9b60366c39ba2049e68e3b
2017-12-18 07:28:38 +02:00
Gerasimos (Makis) Maropoulos
d95304148e Merge branch 'master' into dev
Former-commit-id: fe6617f679a0434794838f4becab2997ff88c435
2017-12-18 07:25:00 +02:00
Gerasimos (Makis) Maropoulos
d88e49abaf Last year we had HTTP/2 at Christmas, this year I will give you even better gift
Former-commit-id: 4f384a18b564e7c0f0a48bc74fec05280aa13d76
2017-12-18 07:22:55 +02:00
Gerasimos (Makis) Maropoulos
20ba72aecf fix typo
Former-commit-id: b6f9de4cf8d62210ffefba5d33dc8372d236748d
2017-12-18 06:47:05 +02:00
Cody Oss
e4aa414add fix a typo
Former-commit-id: 266f99ad325eb0463c76fb3f6123dc0cdaba1aad
2017-12-17 21:45:11 -06:00
Gerasimos (Makis) Maropoulos
4fb46bf1f3 fix mvc/ideas/1/main.go->AfterActivation
Former-commit-id: bf3d8227793fba76f0f7349d82d1200275ac9147
2017-12-18 02:24:53 +02:00
Gerasimos (Makis) Maropoulos
d5a38a0cd6 more checks about creating new instance of controller on each request - this time if all bindings are static then set them to the initial-devpassed controller and if the total number of lengths are equal with these static dependencies then we ignore the injector and use the initial controller on each request - maximize the performance when simple controller is used - need more cleanup before new release but I hope until Christmas iris developers will be amazed
Former-commit-id: 32ed69368d1df2c25cdb712bb7f0cf47b2e36c05
2017-12-18 00:16:10 +02:00
Gerasimos (Makis) Maropoulos
40b40fa7d3 don't create new controller instance when all fields are set-ed by the end-dev - but we keep show those fields' values as Dependencies on the BeforeActivate in order to the future custom controllers authors to be able to check if something is added as dependecy or even manually set-ed before bind their own dependecies, otherwise they could override the manually set-ing
Former-commit-id: 72d3a0f1299781ee9a5e3e35e4a543354f8cd63d
2017-12-17 06:34:16 +02:00
Gerasimos (Makis) Maropoulos
6120e755e8 update mvc/README.md
Former-commit-id: 1aa80921e6b28d0492046424292e727c4e99e6b0
2017-12-16 23:27:04 +02:00
Gerasimos (Makis) Maropoulos
e67621b8ec grammar fixes(?)
Former-commit-id: bf2ff1df8c841643eb2ebfc8524ba869d02c99b3
2017-12-16 23:12:49 +02:00
Gerasimos (Makis) Maropoulos
68cc6641d4 Add session.Destroy (before I've added: Increment & Decrement entry helpers as well) | Improve the debug messages for the controllers
Former-commit-id: f5f17b05252a5032ace1e2d0fdd2304fc4004635
2017-12-16 23:09:00 +02:00
Gerasimos (Makis) Maropoulos
b8cafce6b9 add simple tests for _examples/mvc/hello-world and session-controller
Former-commit-id: d88a792ba57cd869d2888f41bca6eb3e5b4f7d49
2017-12-16 21:27:20 +02:00
Gerasimos (Makis) Maropoulos
a25c0557de don't create a new controller instance if it doesn't have struct dependencies and the fields length is 0 - 0.4MB/s difference from the raw handlers now.
Former-commit-id: f808291fe84bc2cdd83f60f62f8b3140204110a5
2017-12-16 17:57:20 +02:00
Gerasimos (Makis) Maropoulos
34664aa311 OK, my dream-idea is implemented. TODO: Some examples and doc.go is not updated yet, comments on the mvc/di subpackage, the tutorial/vuejs-todo-mvc is running but not finished yet (it's using browser's localstorage and it should be replaced by the http requests that are registered via iris mvc
Former-commit-id: 0ea7e01ce1d78bcb78b40f3b0f5c03ad7c9abaea
2017-12-16 06:38:28 +02:00
Gerasimos (Makis) Maropoulos
55dfd195e0 remove the old 'mvc' folder - examples are not changed yet - add the 'di' package inside the mvc2 package - which will be renamed to 'mvc' on the next commit - new mvc.Application and some dublications removed - The new version will be version 9 because it will contain breaking changes (not to the end-developer's controllers but to the API they register them) - get ready for 'Christmas Edition' for believers
Former-commit-id: c7114233dee90ee308c0a3e77ec2ad0c361094b8
2017-12-15 20:28:06 +02:00
Wing Gao
c6b12ab754 need a better way to replace an existed cookie
Former-commit-id: bee4a686d50e61e607e7f86c1dee93a877cd1413
2017-12-15 22:42:18 +08:00
Wing Gao
859a62bf01 fix cookie expire equals to -1 when call UpdateExpiration
Former-commit-id: 69107db0f9be87db2057c6d261bd896c0358bc45
2017-12-15 21:46:18 +08:00
Gerasimos (Makis) Maropoulos
4e15f4ea88 create one generic package for dependency injection which can be used outside of Iris too - worked but unfished
Former-commit-id: a9d600321c07d7c9f39105416f14ae91528a16a3
2017-12-14 23:04:42 +02:00
Gerasimos (Makis) Maropoulos
a5fac270cf Merge branch 'master' into dev
Former-commit-id: d9d3c857d953c379f724bdb1d0473f91758f7cfe
2017-12-14 14:21:03 +02:00
Gerasimos (Makis) Maropoulos
434b07675e add example for the simple context#WriteGzip
Former-commit-id: 3b4e0834370ebde5e4796b3d75cdbd5c2c25093f
2017-12-14 14:15:29 +02:00
Gerasimos (Makis) Maropoulos
3349fd5c91 Merge branch 'master' into dev
Former-commit-id: a95af68b60eee434994d8bfa55ad26d587f4fe89
2017-12-14 06:16:01 +02:00
Gerasimos (Makis) Maropoulos
22504f01ef add a simple hero template example as requested at https://github.com/kataras/iris/issues/840
Former-commit-id: 1c65190d21a5febbbbad1b2b565f82f749278d48
2017-12-14 06:11:37 +02:00
Gerasimos (Makis) Maropoulos
0b2dcc76f5 start of the vue + mvc example and a simple session binding
Former-commit-id: 994f00952352c93d270ad197cb843f3222fb37c0
2017-12-14 05:56:23 +02:00
Gerasimos (Makis) Maropoulos
d72c649441 add test for binding a whole function as an input argument on the handler's function - worked
Former-commit-id: 410ffdf44057ce57d5d280aa80ef0c9884f275b2
2017-12-14 03:30:39 +02:00
Gerasimos (Makis) Maropoulos
43c330f338 Merge branch 'master' into dev
Former-commit-id: 451baf594a5fb7f288291cdd73b86998cb364af4
2017-12-13 14:46:45 +02:00
Gerasimos (Makis) Maropoulos
ea863914dc update the vendor json library which is used when 'WithOptimizations' passed on 'app.Run' and resolve https://github.com/kataras/iris/pull/839#issuecomment-351374343
Former-commit-id: ad3354717d593393a3f3aec863ec92f1f7e1c829
2017-12-13 14:37:02 +02:00
Gerasimos (Makis) Maropoulos
8dcbdc0741 performance close to handlers if no bindings but even if bindings except service (new feature is that we can bind functions as well) is x1.1 faster than the previous mvc implementation - make BaseController (so and C) optionally but not break the existing APIs that using iris.C or mvc.C
Former-commit-id: a26a8f836894c061e0f435df8ac1c2c534f0ee48
2017-12-13 06:17:28 +02:00
Gerasimos (Makis) Maropoulos
257f1318c9 add some comments but I just released that we may not need controller's input field and we can bind directly via the targetStruct binder, next step is to implement that behavior
Former-commit-id: e2ed23e7c4f52237cf87148d9a85d01e89d479be
2017-12-12 14:33:39 +02:00