Commit Graph

173 Commits

Author SHA1 Message Date
Gerasimos (Makis) Maropoulos
37c766fef7
new x/errors package to handle HTTP wire errors 2022-02-24 23:49:46 +02:00
Gerasimos (Makis) Maropoulos
f633ab4b99
new party controllers example 2022-01-08 19:54:33 +02:00
Gerasimos (Makis) Maropoulos
48577b7ff1
minor 2022-01-06 18:49:11 +02:00
Gerasimos (Makis) Maropoulos
485395190b
update dependencies 2021-10-31 11:49:39 +02:00
Gerasimos (Makis) Maropoulos
bf54d33a3e
add new ':email' path parameter and revert the jsoniter removal 2021-10-13 16:22:22 +03:00
Gerasimos (Makis) Maropoulos
856f65be78
remove the 'retract' directive, as it's only available on the latest go release 2021-05-28 19:09:16 +03:00
Gerasimos (Makis) Maropoulos
ce6c455601
add Party.RemoveRoute method as requested in the community chat 2021-04-04 20:24:21 +03:00
Gerasimos (Makis) Maropoulos
e901575ca8
Path type parameter error handler: add the parameter index in the input arguments
see previous commit
2021-02-15 11:30:29 +02:00
Gerasimos (Makis) Maropoulos
5990e7f432
NEW (HOT) FEATURE: Add custom error handlers on path type parameters error 2021-02-14 15:31:27 +02:00
Gerasimos (Makis) Maropoulos
5fe233278a
add a new 'uuid' path parameter type e.g. /{id:uuid} 2021-02-12 17:12:23 +02:00
Gerasimos (Makis) Maropoulos
f7757c0793
fix https://github.com/kataras/iris/issues/1713 and add a simple usage example of the 'RemoveHandler' 2021-01-27 01:22:20 +02:00
Gerasimos (Makis) Maropoulos
541fa75caf
minor (see previous commit) 2021-01-07 05:36:56 +02:00
Gerasimos (Makis) Maropoulos
240fdb6dc3
API versioning improvements
Replace the go-version package with a regex-free alternative semver

the result: versioned apis have almost zero performance cost now

thanks @motogo for your kind donation ❤️ - please check your github notifications
2021-01-07 04:14:41 +02:00
Gerasimos (Makis) Maropoulos
b409f7807e
New feature: versioning.Aliases
Thanks @mulyawansentosa and @remopavithran for your donates ❤️
2021-01-06 01:52:39 +02:00
Gerasimos (Makis) Maropoulos
7aa2d1f9d5
make versioning.Group a Party compatible by using a type alias on its embedded field
was reported as missing of the a Party method, the type alias is a good hack to solve that
2021-01-05 18:16:32 +02:00
Gerasimos (Makis) Maropoulos
4d857ac53f
New basic auth middleware and GetRaw on User (godocs missing) 2020-11-21 12:04:37 +02:00
Gerasimos (Makis) Maropoulos
f6905a3f79
New Context.SetLogoutFunc/Logout and SetFunc/CallFunc methods
Read HISTORY.md
2020-10-12 02:07:04 +03:00
Gerasimos (Makis) Maropoulos
373b8993ad
add viper configuration example and minor improvements - read HISTORY.md 2020-09-16 12:59:51 +03:00
Gerasimos (Makis) Maropoulos
a917ef68fc
v12.2.0-alpha 2020-09-13 19:18:57 +03:00
Gerasimos (Makis) Maropoulos
bf9f7617e2
examples: update go.mod (see previous commit) 2020-09-05 08:56:01 +03:00
Gerasimos (Makis) Maropoulos
a3279b8fa9
add a note on rewrite middleware for local URL modifications 2020-08-29 18:15:22 +03:00
Gerasimos (Makis) Maropoulos
00684f9d2e
add Route.ExcludeSitemap method to exclude a route from sitemap, also exclude the offline routes as requested 2020-08-29 01:21:42 +03:00
Gerasimos (Makis) Maropoulos
9c56ed6261
examples: minor: update go mod master version 2020-08-26 19:37:14 +03:00
Gerasimos (Makis) Maropoulos
1780d97d44
update the subdomain redirect example using the rewrite middleware 2020-08-26 00:07:07 +03:00
Gerasimos (Makis) Maropoulos
e41e861c4c
update examples go mods 2020-08-21 20:53:45 +03:00
Gerasimos (Makis) Maropoulos
27686d7c1c
... 2020-08-21 20:48:41 +03:00
Gerasimos (Makis) Maropoulos
95c3c2a951
rewrite middleware: add a feature which supports users.json to users?format=json local route redirection 2020-08-21 18:09:21 +03:00
Gerasimos (Makis) Maropoulos
cb80e43ff0
rewrite middleware: add subdomain redirect example 2020-08-20 16:34:19 +03:00
Gerasimos (Makis) Maropoulos
ffae9c0d09
rewrite middleware: add PrimarySubdomain and simplify its usage example 2020-08-20 03:05:47 +03:00
Gerasimos (Makis) Maropoulos
12737c5b7f
implement a rewrite middleware 2020-08-19 22:40:17 +03:00
Gerasimos (Makis) Maropoulos
5481b9a6c1
apps.Switch(apps.Hosts...) example 2020-08-18 04:17:53 +03:00
Gerasimos (Makis) Maropoulos
a61f743fa8
add internal subdomain redirect handler
TODO more things
2020-08-16 20:16:49 +03:00
Gerasimos (Makis) Maropoulos
227170fd33
see https://github.com/kataras/iris/issues/1591#issuecomment-674473247 2020-08-16 18:04:52 +03:00
Gerasimos (Makis) Maropoulos
889b7942d3
add two new examples and share the app's specific logger instance with sessions databases and APIBuilder 2020-08-16 07:07:36 +03:00
Gerasimos (Makis) Maropoulos
ef7d365e81
add iris.Minify middleware and Context.OnCloseErr/OnConnectionCloseErr 2020-08-15 17:21:57 +03:00
Gerasimos (Makis) Maropoulos
8340285e7d
fix #1588 2020-08-15 12:17:48 +03:00
Gerasimos (Makis) Maropoulos
dc35391ceb
fix https://github.com/kataras/iris/issues/1584 2020-08-14 13:04:48 +03:00
Gerasimos (Makis) Maropoulos
46a3a99adf
various improvements and new 'UseOnce' method - read HISTORY.md 2020-08-06 03:35:58 +03:00
Gerasimos (Makis) Maropoulos
802348cedd fix https://github.com/kataras/iris/issues/1569#issuecomment-663739177
Former-commit-id: c55f1023f4d93f6712c7fa4d299bcf1098872ecf
2020-07-25 09:23:34 +03:00
Gerasimos (Makis) Maropoulos
c3205dafa1 New DirOptions.Cache field for in-memory caching and pre-compression for the fastest possible static file server
Read HISTORY.md it contains a breaking change, second parameter of HandleDir should be iris.Dir(...) instead of just a string

relative to: https://github.com/kataras/iris/issues/1556#issuecomment-661057446


Former-commit-id: 14b48a06fb3b99287dff543932be2937a64233b9
2020-07-24 13:03:49 +03:00
Gerasimos (Makis) Maropoulos
a1991a0830 README: update benchmarks.
minor performance boost by making RequestParameter  Set and Get methods more direct to the underline Memstore's kv


Former-commit-id: 4fae45b5bd23804e88aac1f7c66055dd81efc9c9
2020-07-18 14:35:27 +03:00
Gerasimos (Makis) Maropoulos
0f113dfcda (#1554) Add support for all common compressions (write and read)
- Remove the context.Context interface and export the *context, the iris.Context now points to the pointer\nSupport compression and rate limiting in the FileServer\nBit of code organisation


Former-commit-id: ad1c61bf968059510c6be9e7f2cceec7da70ba17
2020-07-10 23:21:09 +03:00
Gerasimos (Makis) Maropoulos
38b0a796bd fix #1552
Former-commit-id: 953df27468e3905e557bb1f6a97ea431cb60f6a6
2020-07-06 19:08:02 +03:00
Gerasimos (Makis) Maropoulos
beb3f730a0 add an example (and a test case) for same route path pattern but different macro function's input argument
Former-commit-id: f20ac838a08473b6b8114b407cb0dcde7765f634
2020-07-02 20:56:22 +03:00
Gerasimos (Makis) Maropoulos
43502ed047 minor
Former-commit-id: 26b0b59ba54caac38d726d7fec562a5d6a0a76e3
2020-06-18 09:36:47 +03:00
Gerasimos (Makis) Maropoulos
6557dcf6c5 add route-handlers-execution-rules example
Former-commit-id: 95e3dfad33b98d20b761ea1d06dee8df91c3632d
2020-06-17 00:02:09 +03:00
Gerasimos (Makis) Maropoulos
6d977dacd2 minor example fix (design change that was actually not pushed)
Former-commit-id: db253c191bad711b592d914d386675bf118e497c
2020-06-08 05:19:12 +03:00
Gerasimos (Makis) Maropoulos
7bb2223226 fix #1531 and introduce the 'Configuration.ResetOnFireErrorCode' (read HISTORY.md)
Former-commit-id: 84f1e894378a6dfd94e0bf057f4037e35aee0c4f
2020-06-08 05:16:55 +03:00
Gerasimos (Makis) Maropoulos
ed45c77be5 reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker
Former-commit-id: ed635ee95de7160cde11eaabc0c1dcb0e460a620
2020-06-07 15:26:06 +03:00
Gerasimos (Makis) Maropoulos
1e20996330 add 'Configuration.PathIntelligence' and 'OnErrorCode' and 'OnAnyErrorCode' on APIContainer
Former-commit-id: bc3d0232106622063205f326bfa4ed3aa84179de
2020-05-17 08:10:07 +03:00
Gerasimos (Makis) Maropoulos
c039730521 HTTP error handlers per Party (docs and details in progress)
Former-commit-id: 7092ebed556b56d9f1769b9b23f2340c2a3a18f7
2020-05-11 00:44:54 +03:00
Gerasimos (Makis) Maropoulos
ffc493a0b9 add authenticated-controller example - proof of concept
Former-commit-id: 7a15da2bd966f2a699337cd494af8b5d1877b11d
2020-05-06 04:45:12 +03:00
Gerasimos (Makis) Maropoulos
ac08f53ba0 minor
Former-commit-id: d4eebea0b5849c574e2ffd4b0bb36e4380b14111
2020-04-29 05:50:29 +03:00
Gerasimos (Makis) Maropoulos
2a4043a3c2 more route info improvements
Former-commit-id: ccbe95de0badb1bf448fcc443cecda60772716dc
2020-04-28 22:34:36 +03:00
Gerasimos (Makis) Maropoulos
b657c5e6af don't fire ErrServerClosed on manually interrupt signals (CTRL/CMD+C)
Former-commit-id: 673c84dd13bb99c0926aa1b4a6b4eff9745403d8
2020-04-28 05:22:58 +03:00
Gerasimos (Makis) Maropoulos
27ca1c93f5 logging: several improvements
Former-commit-id: 12538c74a1aa55314c35ac3cf2665646b704851d
2020-04-28 01:58:56 +03:00
Gerasimos (Makis) Maropoulos
d1f18501e8 add a way to customize the handler names (recommended: before server execution) so route logging can be more human-friendly on handlers like standard iris middlewares, e.g. request logger
Former-commit-id: 039c233f2d4da0d52b1d6fc86b6d73be14b15608
2020-04-27 15:48:09 +03:00
Gerasimos (Makis) Maropoulos
346ca2a219 route logging improvement: group by methods
Former-commit-id: ad884991433a244dc76bdad7314d98a5c204dac6
2020-04-26 17:51:27 +03:00
Gerasimos (Makis) Maropoulos
66e641513c more route logging improvements, see the parent commit
Former-commit-id: 973167e3ca7b3463f79ec62ab8be6770727f1c2b
2020-04-26 17:23:38 +03:00
Gerasimos (Makis) Maropoulos
0d26f24eb7 examples: replace all app.Run(iris.Addr(...)) with app.Listen just for the shake of simplicity, both are doing the same exact thing as it's described on the http listening first example.
Former-commit-id: d20afb2e899aee658a8e0ed1693357798df93462
2020-03-05 22:41:27 +02:00
Gerasimos (Makis) Maropoulos
027eb5d6da minor fix required for the upcoming release
Former-commit-id: f04b770f93d7612941340af6e45d7d0516035e14
2020-02-20 05:46:23 +02:00
Gerasimos (Makis) Maropoulos
c558e039d5 fix #1446
Former-commit-id: 6ac95ef58bf3dd0dac8bed2100495fa9908f41d4
2020-02-10 20:35:19 +02:00
Gerasimos (Makis) Maropoulos
10f280af63 Update to version 12.1.7
Former-commit-id: 3e214ab6b6da4d1c6e4a66180a4ccfa61c0879ae
2020-02-10 19:40:17 +02:00
Gerasimos (Makis) Maropoulos
a3f944b884 Add context.FindClosest(n) to find closest paths - useful for 404 pages to suggest valid pages
Former-commit-id: 90ff7c9da5369df5bd99fbbecf9955a8c555fea5
2019-12-16 02:00:42 +02:00
Gerasimos (Makis) Maropoulos
42e752b3f5 minor
Former-commit-id: c66f17fb0dc5c130e5060bea4cb4f291e031a36c
2019-11-03 00:41:52 +02:00
Gerasimos (Makis) Maropoulos
dc9ad50e76 fix example as reported as #1390
Former-commit-id: 0864cdb5a77b75919e733dab29a85767333de7f8
2019-11-01 16:07:17 +02:00
Gerasimos (Makis) Maropoulos
303f9d3d69 add a note on http-errors example about #1389
Former-commit-id: 73485e195bc246e8b81a1be3156b361e92c054c7
2019-10-31 06:37:35 +02:00
Gerasimos (Makis) Maropoulos
3945fa68d1 obey the vote of @1370 (77-111 at this point) - add import suffix on iris repository
We have to do the same on iris-contrib/examples, iris-contrib/middleware and e.t.c.


Former-commit-id: 0860688158f374bc137bc934b81b26dcd0e10964
2019-10-25 01:27:02 +03:00
Gerasimos (Makis) Maropoulos
07046ab978 formatting
Former-commit-id: 037081db5d6d4434e873ca8b75334ee43e046b6a
2019-08-17 10:06:20 +03:00
Gerasimos (Makis) Maropoulos
75ea978194 New XMLMap func which makes a map value type an xml compatible content to render and give option to render a Problem as XML - rel to #1335
Former-commit-id: dcf21098ff7af6becfa9896df5f82c3b0b53f0ac
2019-08-16 19:18:46 +03:00
Gerasimos (Makis) Maropoulos
c9e9a4b3bc add ProblemOptions https://github.com/kataras/iris/issues/1335#issuecomment-521546506
Former-commit-id: 6c03439d21175f120c37a7d8dd067a0d10de837a
2019-08-15 10:39:38 +03:00
Gerasimos (Makis) Maropoulos
b98bb5a870 Publish version 11.2.6
Former-commit-id: 3563f65de75fe8923ceca8a4b36c8c1cd5abebe7
2019-08-14 11:04:05 +03:00
Gerasimos (Makis) Maropoulos
8e83959c61 implement Problem Details for HTTP APIs #1335
Former-commit-id: ff789b6d535080c88e05c81ab3fb7d9689801ec7
2019-08-12 12:05:21 +03:00
Gerasimos (Makis) Maropoulos
5c91440e46 remove any reference to the pre go1.9 context.Context and replace with iris.Context on some places that were forgotten
got an email feedback about this


Former-commit-id: b1caa261a0d425d8db2091bffb8cfd6065c4e1fa
2019-08-11 15:43:47 +03:00
Gerasimos (Makis) Maropoulos
970279deb8 minor
Former-commit-id: da3ffd7b32daa12b17ad2863cb55e9d15ec9943a
2019-07-30 18:02:02 +03:00
Gerasimos (Makis) Maropoulos
04834484ff add a test near to the _examples/routing/basic example
Former-commit-id: 24b4ffc004f76355f6269a95ede3488fff9dfe36
2019-07-30 06:04:08 +03:00
Gerasimos (Makis) Maropoulos
700dcc8005 new feature: handle different param types in the exact same path pattern
implements https://github.com/kataras/iris/issues/1315


Former-commit-id: 3e9276f2a95d6fc7c10fbf91186d041dcba72611
2019-07-29 23:09:22 +03:00
Gerasimos (Makis) Maropoulos
29bf846bd1 minor version 11.2.2 - register sessions as middleware and Context.HTML/Text like Context.Writef
Former-commit-id: 6f5f1c502fb06d739c350c3ecc891f495dc03a6e
2019-07-24 19:51:42 +03:00
Gerasimos (Makis) Maropoulos
736709aa75 resolve conflicts with current master v11.1.1
Former-commit-id: 659ff392e889f3a8552d7da3d44848f1a364f7b2
2019-07-23 19:20:07 +03:00
Gerasimos (Makis) Maropoulos
33028f900d update the nantive-messages(only) example to the latest websocket (minimum changes, the idea is the same) and misc
Former-commit-id: 9598319bc13e8a383114c37f4da84f337ab47b22
2019-06-25 22:10:10 +03:00
Gerasimos (Makis) Maropoulos
d0104defa8 create the new FileServer and HandleDir, deprecate the rest APIBuilder/Party static methods and more
relative: https://github.com/kataras/iris/issues/1283 and removing pongo2 from vendor: https://github.com/kataras/iris/issues/1284

Former-commit-id: 3ec57b349f99faca2b8e36d9f7252db0b6ea080d
2019-06-21 19:43:25 +03:00
Gerasimos (Makis) Maropoulos
7af5f139e0 fix typo
Former-commit-id: 7b5d5530279789a3118190feb57776948b305662
2019-06-07 21:07:08 +03:00
Gerasimos (Makis) Maropoulos
ddec78af0a add Context.ResponseWriter.IsHijacked to report whether the underline conn is already hijacked and a lot of cleanup and minor ws stress test example improvements
Former-commit-id: 444d4f0718d5c6d7544834c5e44dafb872980238
2019-02-23 07:23:10 +02:00
Gerasimos (Makis) Maropoulos
3fcc70b891 init of v11.2.0: add context#FullRequestURI and NewConditionalHandler
As requested at: https://github.com/kataras/iris/issues/1167 and https://github.com/kataras/iris/issues/1170


Former-commit-id: 781c92f444b3e362011be886b32cf88f89998589
2019-01-19 23:33:33 +02:00
Gerasimos (Makis) Maropoulos
8b74e3343d fix https://github.com/kataras/iris/issues/1164
Former-commit-id: 533b277c6a33d44da48df2ad9ca2b5ebb962bc96
2019-01-04 11:16:40 +02:00
Gerasimos (Makis) Maropoulos
8b85b602df fix https://github.com/kataras/iris/issues/1141 and https://github.com/kataras/iris/issues/1142
Former-commit-id: d8d73b3e1b713af9bf7b4712121324079ede6a41
2018-11-28 23:20:08 +02:00
Gerasimos (Makis) Maropoulos
d766bf9f65 fix https://github.com/kataras/iris/pull/1128 for https://github.com/kataras/iris/issues/1132
Former-commit-id: fd3ef788ff4696e8a7f3d0d2cf11be4532abdf3f
2018-11-10 23:46:01 +02:00
Gerasimos (Makis) Maropoulos
7608873e70 versioning API: initialize support for grouping
Former-commit-id: 36cf8cd79801e8556f3c7b560f3bd759d9770d67
2018-11-10 23:29:24 +02:00
Gerasimos (Makis) Maropoulos
3962710d3d Version 11 released. Read https://github.com/kataras/iris/blob/master/HISTORY.md#su-21-october-2018--v1100
Former-commit-id: fe6305deed00e170bf4d39a12c0644fe686e0a24
2018-10-21 19:20:05 +03:00
Gerasimos Maropoulos
b4856d542d Cookies: Ability to set custom cookie encoders to encode the cookie's value before sent by ctx.SetCookie and ctx.SetCookieKV and cookie decoders to decode the cookie's value when retrieving from ctx.GetCookie. That was the second and final part relative to a community's question at: https://github.com/kataras/iris/issues/1018
Former-commit-id: 53b6810076c8db8646df335d57a30c78b23cd9b8
2018-06-02 16:35:18 +03:00
Gerasimos Maropoulos
4993918a12 remove the complicated fallback handlers, that didn't work and not approve the coblexity addition of the https://github.com/kataras/iris/pull/919, RouteExists accepts first argument the Context, add new AllowMethods per party and fix cors by 048e2be034 https://github.com/kataras/iris/issues/922, rel: https://github.com/iris-contrib/middleware/issues/36, https://github.com/iris-contrib/middleware/issues/34, https://github.com/iris-contrib/middleware/issues/32, https://github.com/iris-contrib/middleware/issues/30, https://github.com/kataras/iris/pull/909
Former-commit-id: 5576c44b64014fb00dd79e618b815b5f52b705e4
2018-03-10 14:22:56 +02:00
Gerasimos Maropoulos
1a4803307d Add one more example for custom router macro functions, relative to https://github.com/kataras/iris/issues/918
Former-commit-id: 457c1a94dc8d93e614e9da70e1ec2482fe0c5765
2018-03-05 20:09:30 +02:00
Gerasimos (Makis) Maropoulos
d7beb9a752 Add a missing call for fallbackHandler in _examples/routing/fallback-handlers/main.go by @ZaniaDeveloper via PR: #911
Former-commit-id: 94ae5849e16538a4bc7f906c52ed7603c7ae01f6
2018-02-23 15:20:53 +02:00
ZaniaDevelopper
abb10e9cbf Add a missing call for fallbackHandler
Former-commit-id: a1ce94b39d326657cdbce34276477c34752f0000
2018-02-23 09:24:35 +03:00
Gerasimos Maropoulos
a1232c9a9a _examples: replace DELETE string with iris.MethodDelete, for important changes see: https://github.com/kataras/iris/pull/909 and 6de64d517e [formerly 35dd2ab80b69a5bea6f35f58e636bc11229d9921]
Former-commit-id: d0f5785aff289b8c140e4f253eb555135e79603d
2018-02-23 04:25:12 +02:00
Gerasimos Maropoulos
6de64d517e New: context#NextOr && context#NextOrNotFound and some performance improvements on the awesome https://github.com/kataras/iris/pull/909 pushed a while ago
Former-commit-id: 35dd2ab80b69a5bea6f35f58e636bc11229d9921
2018-02-23 04:06:05 +02:00
ZaniaDevelopper
7a29519c5a Fixes bad copy/paste
Former-commit-id: 437b60bc6b37d8a755198fb97809c61b9c18004e
2018-02-21 14:48:09 +03:00
Frédéric Meyer
72b096e156 Add fallback handlers
Former-commit-id: f7e9bd17076a10e1ed1702780d7ce9e89f00b592
2018-02-21 12:27:01 +03:00
Frédéric Meyer
66209cae4f Save
Former-commit-id: 592e9cddf3511fc08e87f19ad39fdaac479b453f
2018-02-21 08:18:53 +03:00
Gerasimos (Makis) Maropoulos
7fd8baea75 README.md: make backers visible on the top of the page, replaced the prev api to the https://iris-go.com/backers.svg in order this to happens
Former-commit-id: 093f11d05fe9556c79de2cb2886e5d0569f27336
2018-02-12 04:04:46 +02:00