Commit Graph

453 Commits

Author SHA1 Message Date
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
567c06702f
respect the iris.WithEmptyFormError option on Context.ReadQuery too
as requested at: #1727
2021-02-14 13:40:56 +02:00
Gerasimos (Makis) Maropoulos
d26b9bfbed
Add Strict option to httptest as requested at: #1722 2021-02-13 21:21:19 +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
5994fd5d4e
New iris.WithKeepAlive(time.Duration) Configurator is added as a helper to enable TCP listener featured with keep-alive 2021-01-31 21:24:15 +02:00
Gerasimos (Makis) Maropoulos
53b3ade7e0
New feature: Context.ReadJSONStream 2021-01-24 23:34:01 +02:00
Gerasimos (Makis) Maropoulos
435f284815
New feature: Fallback views. Read HISTORY.md 2021-01-24 14:08:37 +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
11e21150d0
more features and fix database/mysql:jwt example 2020-11-24 14:58:02 +02:00
Gerasimos (Makis) Maropoulos
7b6a8f1e26
simplify some examples 2020-11-07 12:49:14 +02:00
Gerasimos (Makis) Maropoulos
7f523d52e1
thank you @dtrifonov for your donation ❤️ 2020-11-06 14:19:53 +02:00
Gerasimos (Makis) Maropoulos
8eea0296a7
As noticed in my previous commit, the existing jwt libraries added a lot of performance cost between jwt-featured requests and simple requests. That's why a new custom JWT parser was created. This commit adds our custom jwt parser as the underline token signer and verifier 2020-10-30 22:12:16 +02:00
Gerasimos (Makis) Maropoulos
d517f36a29
minor commit. But I am not happy with the jwt implementations for Go...they seem to produce enough performance cost, will try to make a jwt parser by myself and see the difference 2020-10-19 10:05:48 +03:00
Gerasimos (Makis) Maropoulos
3db77684ec
add a very simple example on JWT and move the previous to the 'overview' sub folder 2020-10-18 20:31:58 +03:00
Gerasimos (Makis) Maropoulos
637f7aeea7
add context.ReadURL - relative to #1659 2020-10-18 19:26:43 +03:00
Gerasimos (Makis) Maropoulos
1864f99145
New JWT features and changes (examples updated). Improvements on the Context User and Private Error features
TODO: Write the new e-book JWT section and the HISTORY entry of the chnages and  add a simple example on site docs
2020-10-17 06:40:17 +03:00
Gerasimos (Makis) Maropoulos
8e51a296b9
Add Context.SetUser and Context.User methods
relative to: https://github.com/iris-contrib/middleware/issues/63
2020-10-12 15:52:53 +03:00
Gerasimos (Makis) Maropoulos
546c7bf465
add RemoveHandler to Party too, as requested at #1658 2020-10-12 12:56:54 +03: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
ff7417badd
Add Route.RemoveHandler (a fast change to the previous commit) 2020-10-09 18:53:00 +03:00
Gerasimos (Makis) Maropoulos
ae8190eb97
add Route.RemoveMiddleware method
Useful when all routes under a Party accept a middleware with some exceptions.

For Party-level use its Reset method instead, unless otherwise requested
2020-10-09 18:31:38 +03:00
Gerasimos (Makis) Maropoulos
cc7e3860f2
fix #1610 #1651 - read HISTORY.md 2020-10-04 16:50:21 +03:00
Gerasimos (Makis) Maropoulos
4065819688
New: i18n pluralization and variables support and more...
fixes: #1649, #1648, #1641, #1650

relative to: #1597
2020-09-29 19:19:19 +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
3baee7db34
add Party.SetRoutesNoLog and mvc.Application.SetControllersNoLog as requested at #1630 2020-09-15 00:23:09 +03:00
Gerasimos (Makis) Maropoulos
b17217444e
add IsDebug() shortcut method 2020-09-10 16:20:19 +03:00
Gerasimos (Makis) Maropoulos
ae67987f55
accesslog: log error bodies and communicate with the recover middleware 2020-09-10 14:47:14 +03:00
Gerasimos (Makis) Maropoulos
cf0338d342
fix https://github.com/kataras/iris/issues/1621 2020-09-10 11:24:23 +03:00
Gerasimos (Makis) Maropoulos
333be428c4
use jet v5.0.2 (no breaking changes)
relative to: https://github.com/kataras/iris/pull/1616
2020-09-10 10:12:06 +03:00
Gerasimos (Makis) Maropoulos
59b8ddf5be
i18n: add the ability to register template funcs per locale 2020-09-10 06:22:53 +03:00
Gerasimos (Makis) Maropoulos
b77227a0f9
accesslog: NEW log broker and many more features
some fixes about context clone, fix response recorder concurrent access, fix reload views with only ParseTemplate and more
2020-09-09 14:43:26 +03:00
Gerasimos (Makis) Maropoulos
a4996b90c8
Add a 'ParseTemplate' method on view engines to manually parse and add a template from a text
examples at: https://github.com/kataras/iris/tree/master/_examples/view/parse-template

relative to: https://github.com/kataras/iris/issues/1617
2020-09-08 07:55:33 +03:00
Gerasimos (Makis) Maropoulos
0be856e54c
add accesslog middleware (rel: #1601) 2020-09-06 10:38:48 +03:00
Gerasimos (Makis) Maropoulos
e1f25eb098
Full support of the http.FileSystem on all view engines as requested at #1575
Also, the HandleDir accepts both string and http.FileSystem (interface{}) (like the view's fs)
2020-09-05 08:34:09 +03:00
Gerasimos (Makis) Maropoulos
dbeb7bfb73
add Context.ReadHeaders 2020-08-31 21:28:13 +03:00
Gerasimos (Makis) Maropoulos
477f5e6f9b
add Context.ReadParams method 2020-08-31 20:30:01 +03:00
Gerasimos (Makis) Maropoulos
2f51845138
add mvc.Err on builtin mvc and hero dependencies 2020-08-31 15:30:45 +03:00
Gerasimos (Makis) Maropoulos
8d99b46801
minor improvements 2020-08-31 09:40:27 +03:00
Gerasimos (Makis) Maropoulos
d0a27d2c08
add a simple URLParamSlice
I would love to change the current URLParams() to URLParams(name string) []string to match the PostValues(name string) []string, error but that would be a big breaking changes to many servers... so stick with it.
2020-08-31 05:07:55 +03:00
Gerasimos (Makis) Maropoulos
b9f38be9ea
add sqlx example 2020-08-30 18:24:24 +03:00
Gerasimos (Makis) Maropoulos
07f07ecf6c
New Context.PostValueMany. The PostValues method now returns a second output argument of error too
relative to: #1609
2020-08-29 17:58:16 +03:00
Gerasimos (Makis) Maropoulos
d44b69faed
Add Party.ResetRouterFilters
relative to: https://github.com/kataras/iris/issues/1604#issuecomment-680410131
2020-08-26 06:57:36 +03:00
Gerasimos (Makis) Maropoulos
5e82fa5b89
mvc: struct field and method dependency logs on debug level. Read HISTORY.md
- remove Party.GetReporter

- Read HISTORY.md
2020-08-24 21:44:29 +03:00
Gerasimos (Makis) Maropoulos
8e049d77c9
HandleHTTPError MVC Method as requested at #1595. Read HISTORY.md
example at: https://github.com/kataras/iris/tree/master/_examples/mvc/error-handler-http
2020-08-22 08:04:22 +03:00
Gerasimos (Makis) Maropoulos
a018ba9b0a
add example for #1601 2020-08-22 03:21:44 +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
12737c5b7f
implement a rewrite middleware 2020-08-19 22:40:17 +03:00
Gerasimos (Makis) Maropoulos
bdb94bbae2
request logger middleware: add graphical information about executed route's handlers 2020-08-19 01:24:36 +03:00
Gerasimos (Makis) Maropoulos
4228dd8ea4
add some MVC error handle examples 2020-08-18 23:14:11 +03:00
Gerasimos (Makis) Maropoulos
35ab1de212
add TraceRoute feature on request logger 2020-08-18 19:33:07 +03:00
Gerasimos (Makis) Maropoulos
a491cdf7ef
implement #1593 - Read HISTORY.md
updated example: https://github.com/kataras/iris/blob/master/_examples/i18n/main.go#L28-L50
2020-08-18 08:05:51 +03:00
Gerasimos (Makis) Maropoulos
1192e6f787
fix https://github.com/kataras/iris/issues/1594 2020-08-18 05:42:48 +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
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
22e25c3586
minor 2020-08-12 08:00:42 +03:00
Gerasimos (Makis) Maropoulos
0761bc35ee
General Improvements (UseRouter per Party, fix AutoTLS). Read HISTORY.md
relative to: https://github.com/kataras/iris/issues/1577 and https://github.com/kataras/iris/issues/1578
2020-08-12 07:20:07 +03:00
Gerasimos (Makis) Maropoulos
da029d6f37
New 'Application.UseRouter(...Handler)'. Read HISTORY.md 2020-08-09 22:28:44 +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
5d480dc801
Ability to register a view engine per group of routes or for the current a chain of handlers
Example at: https://github.com/kataras/iris/tree/master/_examples/view/context-view-engine
2020-08-05 19:34:55 +03:00
Gerasimos (Makis) Maropoulos
b363492cca
add 'iris.Blocks' template engine
read more about its features at: https://github.com/kataras/blocks
2020-08-05 06:46:45 +03:00
Gerasimos (Makis) Maropoulos
6844be57ea
add 'iris.Ace' template engine: _examples/view/template_ace_0 2020-08-03 05:46:04 +03:00
Gerasimos (Makis) Maropoulos
676048666c
minor, see prev commit 2020-08-01 05:11:08 +03:00
Gerasimos (Makis) Maropoulos
acf058b006
add database/orm/reform example 2020-08-01 03:46:51 +03:00
Gerasimos (Makis) Maropoulos
22a89c12cb
Add Configuration.RemoteAddrHeadersForce as requested at #1567 and change RemoteAddrHeaders from map to string slice
Read HISTORY.md entry
2020-07-26 14:37:30 +03:00
Gerasimos (Makis) Maropoulos
a50f0ed5ba
HISTORY: move an entry 2020-07-26 13:33:24 +03:00
kataras
a63108e754
add HISTORY entry for bfg, an amazing tool 2020-07-26 13:28:27 +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
baf68391b5 fix #1564
Former-commit-id: d17b205a56f95f476db8b846c88b4cb6df8b5239
2020-07-24 16:50:00 +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
d697426cb6 minor
Change the new ctx.Compres to ctx.CompressWriter and iris.Compress and iris.CompressReader as one iris.Compression

Update the README example

(master development branch)


Former-commit-id: fb67858fe5be5662b5816df41020c28ff9a8c6f6
2020-07-20 13:36:39 +03:00
Gerasimos (Makis) Maropoulos
c18106166b fix #1553
Former-commit-id: 5cb64a4121a664d5066312d385ebd36bb05151ce
2020-07-19 07:09:14 +03:00
Gerasimos (Makis) Maropoulos
552f990358 New iris.DirOptions.PushTargetsRegexp
rel to: https://github.com/kataras/iris/issues/1562#issuecomment-659702891


Former-commit-id: 778cf9146b730d424040ea9e259ce6500f53b563
2020-07-18 06:10:16 +03:00
Gerasimos (Makis) Maropoulos
baeff3e80b DirOptions.PushTargets: add example for https://github.com/kataras/iris/issues/1562
Former-commit-id: 940f07fdb1184266dc315441fb91afa5754092fa
2020-07-16 11:42:45 +03:00
Gerasimos (Makis) Maropoulos
fba8492e78 add 'DirOptions.PushTargets' for http/2 push on index(es) - #1562
Former-commit-id: 5a3f626ba0fbcf10be979b5a800eba51e88602cd
2020-07-16 08:03:55 +03:00
Gerasimos (Makis) Maropoulos
c8ed26ee51 fix #1557
Former-commit-id: 55589069c8ed458183d28f32870fdf8f233629c6
2020-07-11 16:14:31 +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
cba6351d62 HandleDir: customize file/dir listing page through registered view engine
Former-commit-id: 98bfd9d5a073c5bc7c2c167e2a72dd7b05bfb24a
2020-07-07 06:11:44 +03:00
Gerasimos (Makis) Maropoulos
87e08dbddc Update jet parser to v4.0.0 as requested at: #1551
Former-commit-id: 1ad89532d11716af7a49fe9aafca59e943d98ebe
2020-07-06 21:40:40 +03:00
Gerasimos (Makis) Maropoulos
38b0a796bd fix #1552
Former-commit-id: 953df27468e3905e557bb1f6a97ea431cb60f6a6
2020-07-06 19:08:02 +03:00
Gerasimos (Makis) Maropoulos
3ec94b9e4a HISTORY.md updates
Former-commit-id: 420052adbc02802e93ad000be0dd93e6652d6b80
2020-07-05 23:41:16 +03:00
Gerasimos (Makis) Maropoulos
85fc0f5dab add Context.Clone and change the input argument of Context.OnClose and OnCloseConnection ( the un-released Defer has been removed, OnClose can do its job)
Former-commit-id: 7b606e285f4b9de24338ea96d482cf1f7c4907a3
2020-07-02 20:31:34 +03:00
Gerasimos (Makis) Maropoulos
134e2531bf use Request().Context().Done() channel instead of the ResponseWriter().CloseNotify() one
Former-commit-id: e380a3624c03faada74c9efc24266679c3ff5e2b
2020-06-29 21:05:12 +03:00
Gerasimos (Makis) Maropoulos
ed5172731c minor
Former-commit-id: 983161656b264289fb664ca4237bf2a9fccbc5da
2020-06-28 23:08:52 +03:00
Gerasimos (Makis) Maropoulos
871b4ef7fc add Context.ReadJSONProtobuf method
Former-commit-id: 9c7f268c0d7be7e405ea97a5ac12257beba3a4f3
2020-06-28 23:05:07 +03:00
Gerasimos (Makis) Maropoulos
7f9e664b90 Option for Socket Sharding as requested at #1544
Former-commit-id: 0384baf593012377a94344d647ca41121294285a
2020-06-26 20:29:36 +03:00
Gerasimos (Makis) Maropoulos
878484204e minor: versioning: Match: store the matched version and revert the last change
Former-commit-id: e7aa04671d3f54650bb194a97300b6a89e1b0d2b
2020-06-20 09:39:42 +03:00
Gerasimos (Makis) Maropoulos
311b560717 new feature: versioned controllers
Former-commit-id: c797e23c78b1e74bbe9ba56673f3a98f17f5e2f7
2020-06-19 20:58:24 +03:00
Gerasimos (Makis) Maropoulos
43502ed047 minor
Former-commit-id: 26b0b59ba54caac38d726d7fec562a5d6a0a76e3
2020-06-18 09:36:47 +03:00
Gerasimos (Makis) Maropoulos
9c739969f0 minor
Former-commit-id: ee1b625abe876cad8f0f2801c279da684b539fce
2020-06-14 09:25:19 +03:00
Gerasimos (Makis) Maropoulos
78a45163e3 add 'HostProxyHeaders' Configuration field
Former-commit-id: 067360d8db638d6f268d154b50fd872c465eaf1a
2020-06-11 18:52:35 +03:00
Gerasimos (Makis) Maropoulos
d304086c32 add 'Context.IsSSL() bool'
Former-commit-id: 494394ecb3a44dc69d95893eae024efff0ff3612
2020-06-11 16:08:35 +03:00
Gerasimos (Makis) Maropoulos
2042637e41 add a rollbar example
Former-commit-id: 4cbe61a217f4863fe38e23848252126d864d9f5c
2020-06-09 02:58:17 +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
1079bb8f8b add a new 'Context.GzipReader(bool) method and 'iris.GzipReader' middleware as requested at #1528
Former-commit-id: 7665545069bf1784d17a9db1e5f9f5f8df4b0c43
2020-05-28 19:29:14 +03:00