Commit Graph

464 Commits

Author SHA1 Message Date
Gerasimos (Makis) Maropoulos
48bb9c9c11
minor improvements 2021-11-15 15:29:30 +02:00
Gerasimos (Makis) Maropoulos
51fc2f35ca
new /x/jsonx and /x/mathx util sub-packages 2021-11-06 20:25:25 +02:00
Gerasimos (Makis) Maropoulos
16b9b694d2
new /x/client sub-package 2021-10-31 11:25:11 +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
6d3884b0ce
add iris.IsErrEmptyJSON helper. See HISTORY.md 2021-06-16 13:52:39 +03:00
Gerasimos (Makis) Maropoulos
8f9140b705
New Context.FormFiles method 2021-06-07 15:33:19 +03:00
Gerasimos (Makis) Maropoulos
6219e57135
New APIContainer.EnableStrictMode(bool) method. Read HISTORY.md 2021-04-22 14:00:00 +03:00
Gerasimos (Makis) Maropoulos
89f02c6e87
update jwt dependency and use the current Party if relative path is empty on PartyConfigure only 2021-03-03 14:39:47 +02:00
Gerasimos (Makis) Maropoulos
c1b31ab102
PartyConfigure: try to bind the struct's exported zero fields based on the registered dependencies (if any)
If the PartyConfigurator value accepts only static dependencies then we have zero performance penalty, exactly like a Controller (structure) works
2021-02-21 22:24:01 +02:00
Gerasimos (Makis) Maropoulos
f34703e3cf
minor improvement of the previous commit 2021-02-17 16:57:19 +02:00
Gerasimos (Makis) Maropoulos
cbf70a7bcf
Add new PartyConfigure helper 2021-02-17 16:50:36 +02: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
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