summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_http_route.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-07-24Minor changes and renaming an NJS artifact to NXT.Axel Duch1-3/+3
This is partially related to #434 issue on Github. Thanks to 洪志道 (Hong Zhi Dao).
2020-07-10Router: route patterns multi wildcards fix.Axel Duch1-3/+6
Matching 'start' and 'end' position now adjusted to avoid false matching. This is related to #434 issue on Github. Thanks to 洪志道 (Hong Zhi Dao).
2020-07-04Router: route patterns multi wildcards support.Axel Duch1-113/+205
2020-05-15Router: removed two unused assignments.Valentin Bartenev1-3/+0
This should resolve some static analyzers warnings.
2020-05-14Router: decode uri and args.Axel Duch1-57/+221
2020-05-14PHP: implemented "targets" option.Valentin Bartenev1-3/+18
This allows to specify multiple subsequent targets inside PHP applications. For example: { "listeners": { "*:80": { "pass": "routes" } }, "routes": [ { "match": { "uri": "/info" }, "action": { "pass": "applications/my_app/phpinfo" } }, { "match": { "uri": "/hello" }, "action": { "pass": "applications/my_app/hello" } }, { "action": { "pass": "applications/my_app/rest" } } ], "applications": { "my_app": { "type": "php", "targets": { "phpinfo": { "script": "phpinfo.php", "root": "/www/data/admin", }, "hello": { "script": "hello.php", "root": "/www/data/test", }, "rest": { "root": "/www/data/example.com", "index": "index.php" }, } } } }
2020-05-14Configuration: URI encoding in the "pass" option.Valentin Bartenev1-29/+83
This is useful to escape "/" in path fragments. For example, in order to reference the application named "foo/bar": { "pass": "applications/foo%2Fbar" }
2020-03-30Configuration: support for rational numbers.Valentin Bartenev1-1/+1
2020-03-21Implemented "location" option for "return" action.Valentin Bartenev1-2/+36
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } }
2020-03-27Implemented "return" action.Valentin Bartenev1-0/+12
The "return" action can be used to immediately generate a simple HTTP response with an arbitrary status: { "action": { "return": 404 } } This is especially useful for denying access to specific resources.
2020-03-27Initialization of the action object made more consistent.Valentin Bartenev1-3/+3
2020-03-06Round robin upstream added.Igor Sysoev1-0/+6
2020-03-04Refactored nxt_http_action.Igor Sysoev1-16/+12
2020-03-11Fixed negative patterns combined with address rules.Axel Duch1-6/+40
2020-03-03Added a "fallback" option to be used with the "share" action.Valentin Bartenev1-23/+49
It allows proceeding to another action if a file isn't available. An example: { "share": "/data/www/", "fallback": { "pass": "applications/php" } } In the example above, an attempt is made first to serve a request with a file from the "/data/www/" directory. If there's no such file, the request is passed to the "php" application. Fallback actions may be nested: { "share": "/data/www/", "fallback": { "share": "/data/cache/", "fallback": { "proxy": "http://127.0.0.1:9000" } } }
2019-12-24Router: introducing routing on listener address.Axel Duch1-4/+31
2019-12-24Router: introducing routing on client address.Axel Duch1-4/+239
2019-11-14Initial proxy support.Igor Sysoev1-2/+18
2019-11-14Replacing pass with action.Igor Sysoev1-71/+123
2019-09-19Basic support for serving static files.Valentin Bartenev1-8/+20
2019-07-24Added routing based on request scheme.Axel Duch1-0/+36
Scheme matches exact string “http” or “https”.
2019-06-10Cookie-based routing should be case-sensitive.Igor Sysoev1-5/+3
2019-05-30Added routing based on cookies.Igor Sysoev1-1/+218
2019-05-30Added routing based on arguments.Igor Sysoev1-15/+208
2019-05-30Handling routing errors.Igor Sysoev1-27/+32
2019-05-30Added routing based on header fields.Igor Sysoev1-61/+338
2019-05-30Fixed segfault with empty routes array.Igor Sysoev1-9/+6
2019-05-30Fixed segfault with empty rule array.Igor Sysoev1-3/+3
2019-04-12Simplified cycles in nxt_http_route_rule().Valentin Bartenev1-40/+24
2019-04-10Added support for wildcards in the middle of match patterns.Igor Sysoev1-21/+105
2019-02-27Initial routing implementation.Igor Sysoev1-0/+849