Commit Graph

372 Commits

Author SHA1 Message Date
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
546c7bf465
add RemoveHandler to Party too, as requested at #1658 2020-10-12 12:56:54 +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
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
a04a6b5011
add accesslog+proxy example 2020-09-19 17:47:44 +03:00
Gerasimos (Makis) Maropoulos
64f95a59b4
fix ip_test (see prev commit) 2020-09-16 13:21:34 +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
e828a96752
fix #1633 and respect controller's no log option for websocket controllers too 2020-09-15 23:37:11 +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
e63d1041d2
accesslog: add IP in builtin fields, change the format a bit. Default func: remove compression middleware, force-set debug log level, replace the old request logger with the accesslog one, use request id middlewareand keep recovery 2020-09-11 09:38:55 +03:00
Gerasimos (Makis) Maropoulos
16a794a245
acesslog new example: custom fields and custom template 2020-09-10 21:40:30 +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
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
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
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
6f9a453160
DBUG API: mark overlapped routes, hide the builtin functionality (read description)
also reference the correct file:line on <autogenerated> (by searching for the file,line of method inside the embedded fields themselves, as go automatically generates the methods foreach struct for their embedded fields)

fix UseGlobal may override the overlap feature
2020-08-28 16:02:14 +03:00
Gerasimos (Makis) Maropoulos
4035ed308c
fix https://github.com/kataras/iris/issues/1608 with the help of @AlbinoGeek for monitoring and together found the source of the problem 2020-08-28 06:21:26 +03:00
Gerasimos (Makis) Maropoulos
a6ec94e1a6
overlap routing: and mvc: allow setting status code from a dependency or a middleware 2020-08-28 04:11:56 +03:00
Gerasimos (Makis) Maropoulos
933534574a
fix #1603 2020-08-28 02:22:38 +03:00
Gerasimos (Makis) Maropoulos
39e3911d41
fix future issues like #1607 2020-08-27 07:23:56 +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
1780d97d44
update the subdomain redirect example using the rewrite middleware 2020-08-26 00:07:07 +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
ef5685bf7e
add Iris + Serverless example link 2020-08-23 17:55: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
27686d7c1c
... 2020-08-21 20:48:41 +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
bdb94bbae2
request logger middleware: add graphical information about executed route's handlers 2020-08-19 01:24:36 +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
589c8c6242
new apps/switch (beta) 2020-08-17 21:53:17 +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
177b05b674
see prev commit 2020-08-16 18:09:10 +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
c22cb3a188
add godocs for https://github.com/kataras/iris/issues/1589 2020-08-15 12:24:51 +03:00
Gerasimos (Makis) Maropoulos
8340285e7d
fix #1588 2020-08-15 12:17:48 +03:00
Gerasimos (Makis) Maropoulos
d0d7679a98
minor 2020-08-14 14:18:41 +03:00
Gerasimos (Makis) Maropoulos
9f0872719f
fix SubdomainRedirect on loopbacks
fix: https://github.com/kataras/iris/issues/1584#issuecomment-674001454
2020-08-14 14:14:29 +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
5f235993ee
fix Context.Proceed called on last handler in the chain
relative: https://github.com/kataras/iris/issues/1581#issuecomment-673958152
2020-08-14 11:53:38 +03:00
Gerasimos (Makis) Maropoulos
6fee09f11e
fix #1580 2020-08-14 03:19:59 +03:00
Gerasimos (Makis) Maropoulos
ff5e43f341
AutoTLS: allow fallback servers to not run on :80 2020-08-13 07:24:46 +03:00
Gerasimos (Makis) Maropoulos
0edf0affb0
friendly name displayed on AutoTLS as suggested at #1578 2020-08-12 08:18:31 +03:00
Gerasimos (Makis) Maropoulos
9ed566b076
re-add the mutex on sessions.LifeTime 2020-08-12 07:48:45 +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
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
2f8b29cb3d examples: use ctx.ResponseWriter().Naive().(http.Pusher) instead
Former-commit-id: 7802f4eadf2b1c0a0d2a42ed5ebac3e5c77f88cc
2020-07-24 22:36:46 +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
fb8e677c08 PushTargetRegexp: simplify code
rel to: https://github.com/kataras/iris/issues/1562#issuecomment-660415246


Former-commit-id: da04ae0543e9b743cd4989ded5983ae15316a879
2020-07-18 12:41:31 +03:00
Gerasimos (Makis) Maropoulos
e16abc96c6 PushTargetsRegexp: take advantage of the AssetNames on embedded file system
rel to: https://github.com/kataras/iris/issues/1562#issuecomment-660415246


Former-commit-id: 9e3fb4d71e14dda025a3af86cf210ff72127b716
2020-07-18 07:51:36 +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
0f79728c88 https://github.com/kataras/iris/issues/1562#issuecomment-659845730
Former-commit-id: 60d9b0d77693895fdfbebe83712e9cc1ee3f8f26
2020-07-17 12:03:20 +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
645da2b2ef HandleDir: add Attachments options to DirOptions
have a bit more work to do on that, if Gzip option is true then it  does not work and it's not the 'if gzip' statement inside the handler


Former-commit-id: 866578d29b6a63ee60a22b0eb9b37288c717b7e2
2020-07-07 15:40:12 +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
38b0a796bd fix #1552
Former-commit-id: 953df27468e3905e557bb1f6a97ea431cb60f6a6
2020-07-06 19:08:02 +03:00
Gerasimos (Makis) Maropoulos
dd72a1e398 file-server example: use a custom template for listing dirs/files
Former-commit-id: 5b9bb0be4ac3f5d463f0957a3074aa6e7b1a71f7
2020-07-06 16:06:48 +03:00
Gerasimos (Makis) Maropoulos
0b279c11fe minor
Former-commit-id: f201fcad8fb425d0a5e9c32faa649b5199f60183
2020-07-05 23:35:45 +03:00
Gerasimos (Makis) Maropoulos
16a6372cc9 add a DirListRich helper to make the file listing a bit more appealing than its default
Former-commit-id: 1d8338cddac0856be1c9f1e7b6d8d400bee71bef
2020-07-05 23:27:32 +03:00
Gerasimos (Makis) Maropoulos
57dc64625d file-server: fix ShowList on root dir
Former-commit-id: 6795382235d76942bcfd31ecc0b4ab02ecb85a8a
2020-07-05 05:39:48 +03:00
Gerasimos (Makis) Maropoulos
8c3e43df7f minor
Former-commit-id: 4c71a275f3e10dd0ce77bf5723c370be765663ab
2020-07-03 13:48:34 +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
29d98ac281 use the new protobuf package and other minor stuff
Former-commit-id: 29bf71e8a73d34b27c6f5fe3f12c4ea1cc2b84b2
2020-06-21 17:15:28 +03:00
Gerasimos (Makis) Maropoulos
311b560717 new feature: versioned controllers
Former-commit-id: c797e23c78b1e74bbe9ba56673f3a98f17f5e2f7
2020-06-19 20:58:24 +03:00
Hank Shen
7aecacdffe fix typo
Former-commit-id: 181b7b504f22c3510dbeef3d6fbd43af226835e2
2020-06-18 13:42:57 +08:00
Gerasimos (Makis) Maropoulos
5088a35cf5 update mvc/authenticated-controller example
rel to: https://github.com/kataras/iris/issues/1536 too


Former-commit-id: 0ed36644ee2d6c27d90450700d9241eb1ba93c17
2020-06-14 15:24:42 +03:00
Gerasimos (Makis) Maropoulos
ed5964716b implement #1536 with (SetRegisterRule(iris.RouteOverlap))
Former-commit-id: 2b5523ff3e2aab60dd83faa3c520b16a34916fbe
2020-06-14 08:09:42 +03:00
Gerasimos (Makis) Maropoulos
07f678eac0 asthetics
Former-commit-id: 1b13823e4e31327dad280a82252be969f845efe8
2020-06-10 23:37:50 +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
d556cfc39a New builtin JWT middleware - this one supports encryption and ed25519
Former-commit-id: ca20d256b766e3e8717e91de7a3f3b5f213af0bc
2020-05-27 12:02:17 +03:00
Gerasimos (Makis) Maropoulos
47c3bad58d set iris logger to the sessiondb/badger logs and update deps
Former-commit-id: 7578dec5752cc2bfa012440c24d59f41425812f8
2020-05-17 22:08:43 +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
21a013569f add TLSConfig on redis configuration #1515
Former-commit-id: 3ce4a43185c7b6b5250f49483d7d229ea9dd1670
2020-05-17 03:25:32 +03:00
Gerasimos (Makis) Maropoulos
571322f595 Add some unofficial http error codes
Former-commit-id: 5b9ed411e446e5e4d5e6c3ec705c314cc5c1c9ec
2020-05-16 23:40:42 +03:00
Gerasimos (Makis) Maropoulos
ad74d7b935 error handlers per party: log those routes too and all test cases paased
need cleanup though


Former-commit-id: 6b0c18e38b58af2388015c7cf1af9cc43d7d35d3
2020-05-11 11:11:27 +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
b6a36bf28d iris.TLS starts a secondary http redirection server now (like AutoTLS did) and add 'iris.TLSNoRedirect' to disable it (on both TLS and AutoTLS)
Former-commit-id: c7a535bf860a67604de3d09ade30599611e096f1
2020-05-08 21:13:12 +03:00
Gerasimos (Makis) Maropoulos
116503a9a5 add LogLevel/WithLogLevel in Configuration and run Configurators before Build state
Former-commit-id: d38f1fdae98d650692775f4cee06bd017aba959f
2020-05-08 03:55:54 +03:00
Gerasimos (Makis) Maropoulos
a111c67241 use a custom version of httpexpect which removes things that Iris or its users not use at all in order to reduce the download filesize
Former-commit-id: 993107d0fa40b5e423962b58aa924b712644f18c
2020-05-06 21:08:12 +03:00
Gerasimos (Makis) Maropoulos
c10dd32ad7 new simple _examples/README.md, wiki should live only inside kataras/iris/wiki and the provided e-book
Former-commit-id: 350eafb0f70f8433e394e103ff93fa332ee00a05
2020-05-05 16:03:19 +03:00
Gerasimos (Makis) Maropoulos
f667bc5ff3 HISTORY.md: example of the new Dependency Injection features
Former-commit-id: 94294ffa96fafeb133b129f6f59c813d73ed05f1
2020-04-30 22:50:49 +03:00
Gerasimos (Makis) Maropoulos
c3543528cf fix: https://github.com/kataras/i18n/issues/1
Former-commit-id: 12b75f1e54ebf3d7f78a09b8d5594859a344422d
2020-04-30 16:16:43 +03:00
Gerasimos (Makis) Maropoulos
714e84b597 apply https://github.com/kataras/iris/issues/1500
Former-commit-id: 2b5ae1857a5815977507b6b8fc72dd0040d470ca
2020-04-29 21:16:43 +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
c366c34644 add human-friendly middleware names on route debugging (see HISTORY.md#Next)
Former-commit-id: f7291c4a077c4d1573344c93ba8a153fede18795
2020-04-28 05:42:23 +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