Commit Graph

156 Commits

Author SHA1 Message Date
Gerasimos (Makis) Maropoulos
e9a9f90993 sync with kataras/muxie
Former-commit-id: b414d7243e6c636731f2b0c19d35d3911bb4c951
2018-10-21 20:56:25 +03:00
Gerasimos (Makis) Maropoulos
8baaddc892 fix no slash req path
Former-commit-id: 3c3c00788e2481ee142b668d576cab5ff046f089
2018-10-21 19:21:23 +03:00
Gerasimos (Makis) Maropoulos
e3876d793c make the core/router.AllMethods a variable that can be changed by end-devs as requested at: https://github.com/kataras/iris/issues/1102
Former-commit-id: 47c997e0d3a90e4c7ccb8c4dfd1459065490d59e
2018-10-16 05:37:21 +03:00
Gerasimos (Makis) Maropoulos
3002736086 add my new trie data structure implementation written from scratch and specifically designed for HTTP (and Iris) - see https://github.com/kataras/muxie for the net/http version of it
Former-commit-id: 4eed1585f29b57418b61f6de058f5d6db4bb98bf
2018-10-15 10:49:09 +03:00
Gerasimos (Makis) Maropoulos
120b5fb635 example: write our own customized router using the high-level API which gives access to the correct context and routes
Former-commit-id: d2369c20490619cad0dd6f7b6ed01cdbef51a853
2018-10-02 06:36:51 +03:00
Gerasimos (Makis) Maropoulos
2a1f3d4e43 add some more helpers for the parameters and the memstore for num types
Former-commit-id: b96380fa8c8dc9abeaea248f87ea5d70f6bdf650
2018-10-01 15:27:45 +03:00
Gerasimos (Makis) Maropoulos
b08df3a785 make the macro#Parse to return a value of a Template instead of its ptr and debug logs for handlers length ignores the internal generated macro evaluator handler if it is there, so end-dev cannot be confused about the debug logs at that point
Former-commit-id: c23a3d10b43f145de575f1ea11e3dbf9bbd33a6b
2018-09-29 19:59:39 +03:00
Gerasimos (Makis) Maropoulos
7568da3283 add tests for the new types (int8, int16, int32, uint, uint8, uint16, uint32, uint64)
Former-commit-id: 812b3fdcc47abdeac271473bfdbdd15f0afd0bc0
2018-09-29 04:35:09 +03:00
Gerasimos (Makis) Maropoulos
6d9a35ddba partial cleanup of the macro pkg and move it from /core/router to the root because it may be used by the end-developers now to ammend the available macros per application
Former-commit-id: 951a5e7a401af25ecaa904ff6463b0def2c87afb
2018-09-29 02:41:51 +03:00
Gerasimos (Makis) Maropoulos
bf880033cd make macros even faster and smart catch common :string and do not execute anything at all if not really needed, more clean code as well
Former-commit-id: 589c23d1f92cf36b7677dfe78b60d51252c979fb
2018-09-28 05:34:35 +03:00
Gerasimos (Makis) Maropoulos
972dff8729 easy fix of macro handler caused tests to fail by before prev commit
Former-commit-id: 32f67072f604935a8efecc90151715f27ba7c2c1
2018-09-27 21:31:07 +03:00
Gerasimos (Makis) Maropoulos
39b180b14c see previous commit for more details
Former-commit-id: e88246203ffc492ffa39e8d20ed19cac7abd52c2
2018-09-27 06:28:47 +03:00
Gerasimos (Makis) Maropoulos
f05ee872d0 add int8, int16, int32, uint, uint16 and uint32 default-builtn parameter types and macros - no doc update - no live tests yet - time for sleep
Former-commit-id: 4a27265a9f1368c4bbecd852691155e56c875673
2018-09-27 06:20:03 +03:00
Gerasimos (Makis) Maropoulos
d6d27b2605 Conversion once at macros and their functions, internal changes required
Former-commit-id: 7b778cccfb7c0e30ca5e8106017ada065993aba5
2018-09-27 03:17:45 +03:00
Gerasimos (Makis) Maropoulos
dc3c38b189 add the ability to add custom parameter types to the interpreter and mapped macros with any number of macro functions - example added - although it's working it is not ready yet - I have to do some cleanup, doc comments and a TODO
Former-commit-id: 8ac751b649a3b8e59948fd4c89ad53d25f49d0d5
2018-09-26 11:37:11 +03:00
Gerasimos (Makis) Maropoulos
efa17e8899 dynamic param types part 1
Former-commit-id: 5829d53de848c0ea4491b53e4798f6c9cdf8d9a7
2018-09-01 18:53:42 +03:00
Gerasimos (Makis) Maropoulos
f365be3c62 remove 'WithoutVersionChecker', update and test the new versions of some of the dependencies, add a history entry with unknown release date
Former-commit-id: 399db6aac44d3b336648d6d61842f4d7a0266842
2018-08-31 02:09:48 +03:00
Gerasimos (Makis) Maropoulos
cbd8fe95ac add uint8 parameter type, and mvc and hero - this commit may be a point of tutorial on how to add a completely new type from scratch to the hero for future contributors
Former-commit-id: dc7a7e6c97ef0c644a22e92072e4bdb98ae10582
2018-08-24 00:56:54 +03:00
Gerasimos (Makis) Maropoulos
ef5f383227 support more than string and int at macro functions route path input arguments: int,uint8,uint16,uint32,int8,int32,int64,slice of strings and string
Former-commit-id: d29c4fbe5926bac590151322a585f68b394ff72d
2018-08-23 17:29:39 +03:00
Gerasimos (Makis) Maropoulos
b019a281eb New ':int64' and ':uint64' route path parameters - and - support the new uint64 for MVC (int64 was already supported there) - and - add ctx.Params().GetUint64 (GetInt64 was already there) - and - make the ':int or :number' to accept negative numbers with no digit limit (at low level) and rename the 'app.Macros().Int.RegisterFunc' to 'Number.RegisterFunc' because number can be any type of number not only standard go type limited - and - add alias for ':boolean' -> ':bool'. Finally, Update the examples but not the version yet, I have to provide a good README table to explain the end-developers how they can benefit by those changes and why the breaking change (which is to accept negative numbers via ':int') is for their own good and how they can make their own macro functions so they do not depend on the Iris builtn macro funcs only. More to come tomorrow, stay tuned
Former-commit-id: 3601abfc89478185afec3594375080778214283e
2018-08-23 06:30:12 +03:00
Gerasimos (Makis) Maropoulos
01b5f6089d add Context.Params#GetUint64
Former-commit-id: bf6b2dcc0a1078f072c35f4affe375a2eb3f0b82
2018-08-23 02:46:58 +03:00
Gerasimos (Makis) Maropoulos
f6436f2af4 https://github.com/kataras/iris/issues/1061
Former-commit-id: 4324e81ea94ef917ce39005b6038a6819bb63258
2018-08-14 16:29:04 +03:00
Gerasimos (Makis) Maropoulos
20c0bbe9ba Release stable version 10.7 - HISTORY.md#sat-11-august-2018--v1070
I want to thank you once again for the unwavering support and trust you have shown me


Former-commit-id: fa0be6bf5ca2f04e03e452f8cca75a0a7be0b487
2018-08-11 23:58:49 +03:00
Gerasimos (Makis) Maropoulos
43fd73eab9 internals: core/router/api_builder_benchmark_test.go: replace the strings.Builder(go 1.10+) with the bytes.Buffer, it is a test so we are ok let it build and run for go1.10- as well
Former-commit-id: a531db90fe02fd327e12ecc20128090e18b3dbcb
2018-08-07 13:05:32 +03:00
Gerasimos (Makis) Maropoulos
55e4cf038e add example for hero *sessions.Session dependency which is used on an index route outside of the main package, it is as easy as it shown. Added mostly after the issue: https://github.com/kataras/iris/issues/1057 -- have fun
Former-commit-id: 93338d0e03d6be885edf783c09a2c181568e9ec5
2018-08-07 12:43:51 +03:00
Gerasimos (Makis) Maropoulos
293c29d6e7 preparing for the Iris control panel -- stay tuned when you hear my new project name 'cornea'
Former-commit-id: 8c0ada865ee17801efe90b197bf49bdbd55f636b
2018-08-06 04:20:59 +03:00
Gerasimos (Makis) Maropoulos
e5f6bce86f examples: writing an API for the Apache Kafka: add a root handler for routes documentation to make navigation easier and add some other methods that may find them useful for request state and routes description
Former-commit-id: 3775aab2386051b23e127ccc9e3a6accdfdee6d0
2018-08-05 13:51:05 +03:00
Gerasimos (Makis) Maropoulos
f7c0cbe5cd update deps and move one vendor to our organisation for making a new branch in order to solve this: https://github.com/kataras/iris/issues/1040, although it's not ours problem...
Former-commit-id: 6013525d2aabc35461bf24871e3b36ca91004fb9
2018-07-15 16:09:03 +03:00
Gerasimos (Makis) Maropoulos
cd5109ae0e Iris + WebAssemply = = 💓
Former-commit-id: 44f08f112cfba8006d2a6fe34e32b24e5c246856
2018-07-09 09:13:36 +03:00
Gerasimos Maropoulos
cc4409e77a Update to version 10.6.6. Read https://github.com/kataras/iris/blob/master/HISTORY.md#tu-05-june-2018--v1066 for more
Former-commit-id: 9f73b831dcd6bda160ddd3f70ace59a5cc63c31c
2018-06-05 01:24:35 +03:00
Gerasimos Maropoulos
94b93484b5 Update to version 10.6.5: 1 New Feature And Indonesia Translation | Read HISTORY.md
Former-commit-id: 4788e36e52f6b40c7e15120e0675c097eabf0f0d
2018-05-21 07:40:43 +03:00
Gerasimos Maropoulos
485cfbc838 Update to version 10.6.4 | Read HISTORY.md for the bug fixes
Former-commit-id: 4b981358f4e89807d1ccd8357a53641e770ab075
2018-05-09 01:36:04 +03:00
Gerasimos Maropoulos
0fc4436da6 fix https://github.com/kataras/iris/issues/995
Former-commit-id: 7f743e18c1202eaa19062ca4304611194a10962c
2018-05-07 16:49:17 +03:00
Gerasimos Maropoulos
0087bc218d Update to version 10.6.3. Read HISTORY.md. It contains a very important fix for the websocket servers caused some time ago by an external contributor
Former-commit-id: 1626ff0660801a28a5034ecd2788e87561c55f41
2018-05-02 17:57:01 +03:00
Gerasimos Maropoulos
087c8c8b3a Update to (minor) version 10.6.2. Added: websocket/Connection#OnPong and websocket/Connection#OnError(func(error)) instead of func(string) relative issues: https://github.com/kataras/iris/pull/988 and https://github.com/kataras/iris/issues/987 respectfully.
Former-commit-id: 76d4fda4ab4f34f8a251c8c2d5bb1ae7c3ef7047
2018-05-02 06:40:18 +03:00
Gerasimos Maropoulos
b22151d4b7 Update to version 10.6.1 | Re-implement the BoltDB as built'n session database and more. Please read the HISTORY file for further details
Former-commit-id: fa68a914bec5fe4f595bdeaea84ecab6374ba643
2018-04-25 05:29:19 +03:00
Gerasimos Maropoulos
cfe484f769 Update to Version 10.6.0 and add Video Courses section at READMEs
Former-commit-id: 2a6bf807b989e6b3d02ec6d1d46b42953507535e
2018-04-22 16:22:24 +03:00
Gerasimos Maropoulos
b62080c4bb Sessions are now in full sync with the registered database, on acquire(init), set, get, delete, clear, visit, len, release(destroy) as requested by almost everyone. https://github.com/kataras/iris/issues/969
Former-commit-id: 49fcdb93106a78f0a24ad3fb4d8725e35e98451a
2018-04-22 13:52:36 +03:00
wozz
21a31afb55 Update handler.go
Former-commit-id: f6bd29025c97d04b058584fecb8e0fee91021cb1
2018-04-20 16:56:12 -07:00
wozz
923d151190 Fix open redirect
Fix open redirect by using strings.Trim.

Another option would be to use path.Clean similar to here, but I'm unsure of side effects that may have for this use case: https://github.com/golang/go/blob/master/src/net/http/server.go#L2034

See a PoC of this issue with this link: https://iris-go.com//google.com/

Former-commit-id: fa422e436353a7e0699f0b346f3679455c5d965b
2018-04-20 16:49:30 -07:00
Gerasimos Maropoulos
989cb3f045 update vendor
Former-commit-id: 8e7fca843e404d34fec071415191657ea554dd05
2018-04-03 13:07:23 +03:00
Gerasimos Maropoulos
fbf2bd6480 core/router/supervisor:https ForceRSA to true
Former-commit-id: 86174563b57b142b1e70da6756a54b12b6d5e353
2018-03-31 06:38:30 +03:00
Gerasimos Maropoulos
fc0f27c4fc Do not create the global configuration in homedir by-default, as, correctly, requested on chat. Use iris.WithGlobalConfiguration with a pre-defined iris.yml file on your home directory, existing users will not have any issues, new one will have to create the file before
Former-commit-id: 033f7e96693b13f87b44b445ed166328fea6e0a0
2018-03-27 09:59:29 +03:00
Gerasimos Maropoulos
66d367b255 Update to version 10.5.0 | Read HISTORY.md for more
Former-commit-id: 41b1947aafa258d342bbf9d22baeecc946d198a4
2018-03-24 10:39:44 +02:00
Gerasimos Maropoulos
8e9deec4ab Add one more browser (and 304 server) cache method using ETag and If-None-Match headers
And replace the 'ctx.WriteWithExpiration' with simple 'ctx.Write' at 'StaticEmbeddedHandler' of core/router/fs.go, now that we have plenty of options for client cache give the end-dev the oportunity to use them or not on static embedded handlers


Former-commit-id: 9c9e2f3de3c5ad8c9e14e453b67e6b649b02bde8
2018-03-18 11:55:05 +02:00
Gerasimos Maropoulos
bc45e6444c Cleanup of some old code
Remove the StaticCacheDuration unused package-level variable from context/context.go and /core/router/api_builder.go it should be removed a year ago, now all the cache funcs and middlewares accept their own options |  Remove duplicated header keys that are used on both context/context.go and core/router/fs.go by exporting context's one.


Former-commit-id: 2a5c840d26b32144d2b5b3173a1e4bb4324cecba
2018-03-17 02:27:25 +02:00
Gerasimos Maropoulos
8cec6a6f9b remove any trailing slash that may passed on StaticEmbeddedHandler (although all examples shows the correct way but you never know)
Former-commit-id: 50ab9ddb2e738b4061622ac9ebcfec30e0cdecfa
2018-03-16 12:38:13 +02:00
Gerasimos Maropoulos
87036fdb6c add the new StaticEmbeddedGzip on the Party interface, it works within multiple levels like the StaticEmbedded, so why not
Former-commit-id: f62c863344a06277935730449d5466fecbc64993
2018-03-15 23:15:10 +02:00
Gerasimos Maropoulos
2d8652d7fb fix miss content type occurred by commenting this on the previous commit
Former-commit-id: 3320cf863da92cb70f74b046a6a2475f83728932
2018-03-15 22:46:23 +02:00
Gerasimos Maropoulos
56215eeb71 Release of version 10.4.0 - x8 faster embedded file server | Star and Read HISTORY.md
Former-commit-id: 4f8b8c95c1b107a9be3b1ef6835ece949a75ceb6
2018-03-14 07:17:35 +02:00