Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-11-17 | Router: matching regular expressions support. | Axel Duch | 1 | -13/+86 | |
2020-10-07 | Router: fixed "not empty" pattern matching. | Valentin Bartenev | 1 | -4/+0 | |
The "!" pattern should be opposite to "", i.e. match only non-empty values. But after 3c00af54b937 it was equal to "!*", which is wrong. | |||||
2020-08-28 | Router: fixed "pass" to upstreams. | hongzhidao | 1 | -1/+5 | |
Messed up return values in nxt_upstream_find() caused error in applying any configuration with a valid "pass" value in router configuration pointing to upstream. That wasn't the case in "listeners" objects, where the return value wasn't checked. Also, it caused segfault in cases where the "pass" option was configured with variables and resulting value was pointing to a non-existent upstream. Added missing return checks as well to catch possible memory allocation errors. The bug was introduced in d32bc428f46b. This closes #472 issue on GitHub. | |||||
2020-08-13 | Fixed typo in return value check. | Valentin Bartenev | 1 | -1/+1 | |
Found by Coverity (CID 361277). | |||||
2020-08-13 | Basic variables support. | Valentin Bartenev | 1 | -71/+136 | |
2020-07-24 | Minor changes and renaming an NJS artifact to NXT. | Axel Duch | 1 | -3/+3 | |
This is partially related to #434 issue on Github. Thanks to 洪志道 (Hong Zhi Dao). | |||||
2020-07-10 | Router: route patterns multi wildcards fix. | Axel Duch | 1 | -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-04 | Router: route patterns multi wildcards support. | Axel Duch | 1 | -113/+205 | |
2020-05-15 | Router: removed two unused assignments. | Valentin Bartenev | 1 | -3/+0 | |
This should resolve some static analyzers warnings. | |||||
2020-05-14 | Router: decode uri and args. | Axel Duch | 1 | -57/+221 | |
2020-05-14 | PHP: implemented "targets" option. | Valentin Bartenev | 1 | -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-14 | Configuration: URI encoding in the "pass" option. | Valentin Bartenev | 1 | -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-30 | Configuration: support for rational numbers. | Valentin Bartenev | 1 | -1/+1 | |
2020-03-21 | Implemented "location" option for "return" action. | Valentin Bartenev | 1 | -2/+36 | |
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } } | |||||
2020-03-27 | Implemented "return" action. | Valentin Bartenev | 1 | -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-27 | Initialization of the action object made more consistent. | Valentin Bartenev | 1 | -3/+3 | |
2020-03-06 | Round robin upstream added. | Igor Sysoev | 1 | -0/+6 | |
2020-03-04 | Refactored nxt_http_action. | Igor Sysoev | 1 | -16/+12 | |
2020-03-11 | Fixed negative patterns combined with address rules. | Axel Duch | 1 | -6/+40 | |
2020-03-03 | Added a "fallback" option to be used with the "share" action. | Valentin Bartenev | 1 | -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-24 | Router: introducing routing on listener address. | Axel Duch | 1 | -4/+31 | |
2019-12-24 | Router: introducing routing on client address. | Axel Duch | 1 | -4/+239 | |
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -2/+18 | |
2019-11-14 | Replacing pass with action. | Igor Sysoev | 1 | -71/+123 | |
2019-09-19 | Basic support for serving static files. | Valentin Bartenev | 1 | -8/+20 | |
2019-07-24 | Added routing based on request scheme. | Axel Duch | 1 | -0/+36 | |
Scheme matches exact string “http” or “https”. | |||||
2019-06-10 | Cookie-based routing should be case-sensitive. | Igor Sysoev | 1 | -5/+3 | |
2019-05-30 | Added routing based on cookies. | Igor Sysoev | 1 | -1/+218 | |
2019-05-30 | Added routing based on arguments. | Igor Sysoev | 1 | -15/+208 | |
2019-05-30 | Handling routing errors. | Igor Sysoev | 1 | -27/+32 | |
2019-05-30 | Added routing based on header fields. | Igor Sysoev | 1 | -61/+338 | |
2019-05-30 | Fixed segfault with empty routes array. | Igor Sysoev | 1 | -9/+6 | |
2019-05-30 | Fixed segfault with empty rule array. | Igor Sysoev | 1 | -3/+3 | |
2019-04-12 | Simplified cycles in nxt_http_route_rule(). | Valentin Bartenev | 1 | -40/+24 | |
2019-04-10 | Added support for wildcards in the middle of match patterns. | Igor Sysoev | 1 | -21/+105 | |
2019-02-27 | Initial routing implementation. | Igor Sysoev | 1 | -0/+849 | |