Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-05-14 | PHP: implemented "targets" option. | Valentin Bartenev | 1 | -0/+2 | |
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-04-16 | Using malloc/free for the http fields hash. | Max Romanov | 1 | -3/+3 | |
This is required due to lack of a graceful shutdown: there is a small gap between the runtime's memory pool release and router process's exit. Thus, a worker thread may start processing a request between these two operations, which may result in an http fields hash access and subsequent crash. To simplify issue reproduction, it makes sense to add a 2 sec sleep before exit() in nxt_runtime_exit(). | |||||
2020-03-12 | Using disk file to store large request body. | Max Romanov | 1 | -0/+8 | |
This closes #386 on GitHub. | |||||
2020-03-12 | Moving request memory pool retain call after RPC data allocation. | Max Romanov | 1 | -10/+0 | |
If the call is done only after a successful RPC data allocation, its corresponding release call is not missed, which avoids a potential leak. | |||||
2020-03-12 | Checking Content-Length value right after header parse. | Max Romanov | 1 | -1/+8 | |
The check was moved from the request body read stage. | |||||
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -2/+2 | |
2019-11-14 | Introduced chained buffer completion handlers. | Igor Sysoev | 1 | -3/+8 | |
2019-11-14 | Using request task. | Igor Sysoev | 1 | -2/+2 | |
2019-11-14 | Replacing pass with action. | Igor Sysoev | 1 | -15/+15 | |
2019-09-19 | Basic support for serving static files. | Valentin Bartenev | 1 | -17/+8 | |
2019-08-26 | Adding body handler to nxt_http_request_header_send(). | Igor Sysoev | 1 | -2/+3 | |
2019-08-20 | Introducing websocket support in router and libunit. | Max Romanov | 1 | -6/+15 | |
2019-08-06 | Refactored HTTP protocol callback table. | Igor Sysoev | 1 | -14/+14 | |
2019-07-24 | Added routing based on request scheme. | Axel Duch | 1 | -1/+0 | |
Scheme matches exact string “http” or “https”. | |||||
2019-05-30 | Handling routing errors. | Igor Sysoev | 1 | -15/+12 | |
2019-03-21 | Adjusting request schema value according to connection tls state. | Max Romanov | 1 | -6/+9 | |
This closes #223 issue on GitHub. | |||||
2019-03-18 | Setting request error flag in error handler. | Max Romanov | 1 | -0/+2 | |
Absence of this flag is the reason of memory leak in case when client disconnected before receiving all response data. | |||||
2019-03-06 | Removed unnecessary abstraction layer. | Alexander Borisov | 1 | -74/+8 | |
2019-02-27 | Fixed processing of SERVER_NAME after 77aad2c142a0. | Valentin Bartenev | 1 | -2/+7 | |
Previously, the nxt_router_prepare_msg() function expected server host among other headers unmodified. It's not true anymore since normalization of the Host header has been introduced in 77aad2c142a0. The nxt_unit_split_host() function was removed. It didn't work correctly with IPv6 literals. Anyway, after 77aad2c142a0 the port splitting is done in router while Host header processing. | |||||
2019-02-27 | Initial routing implementation. | Igor Sysoev | 1 | -8/+45 | |
2019-02-23 | Removed surplus check for NUL in nxt_http_validate_host(). | Valentin Bartenev | 1 | -1/+0 | |
Such header fields are already rejected by HTTP parser. | |||||
2019-02-19 | Validation and normalization of request host. | Valentin Bartenev | 1 | -7/+110 | |
2019-02-18 | Fixed memory leak on response body sending failure. | Igor Sysoev | 1 | -1/+3 | |
2019-02-18 | Rejecting requests with duplicate "Content-Length". | Valentin Bartenev | 1 | -5/+8 | |
2019-02-07 | Rejecting requests with invalid "Content-Length". | Valentin Bartenev | 1 | -3/+9 | |
2018-10-22 | Handling of timers with bias. | Valentin Bartenev | 1 | -1/+1 | |
Timers that don't require maximum precision (most of them, actually) can be triggered earlier or later within the bias interval. To reduce wakeups by timers, the expire function now triggers not only all timers that fall within the elapsed time, but also those whose bias falls within this interval. | |||||
2018-07-30 | Sending 408 response on idle connection timeout. | Igor Sysoev | 1 | -12/+13 | |
2018-06-25 | Introduced nxt_length() macro. | Valentin Bartenev | 1 | -1/+1 | |
2018-05-30 | Fixed keep-alive hanging after reconfiguration. | Igor Sysoev | 1 | -2/+5 | |
2018-05-21 | Added SERVER_SOFTWARE request meta-variable. | Valentin Bartenev | 1 | -1/+1 | |
2018-04-11 | Initial access log support. | Valentin Bartenev | 1 | -8/+10 | |
2018-04-03 | HTTP: using r->mem_pool retention counter for response buffers. | Igor Sysoev | 1 | -11/+58 | |
2018-03-13 | Capitalization in the "Server" field. | Valentin Bartenev | 1 | -1/+1 | |
2018-02-12 | HTTP: the Date response header. | Valentin Bartenev | 1 | -2/+52 | |
2018-01-24 | Using size_t for the field width type of the "%*s" specifier. | Sergey Kandaurov | 1 | -1/+2 | |
2018-01-12 | HTTP: request body length was not passed to application. | Igor Sysoev | 1 | -0/+1 | |
The bug has appeared in changeset 5817734dd9b9. | |||||
2018-01-11 | HTTP: request body was not passed to application. | Igor Sysoev | 1 | -0/+5 | |
The bug has appeared in changeset 5817734dd9b9. | |||||
2017-12-29 | Using correct pointer in test operation. | Igor Sysoev | 1 | -1/+1 | |
Found by Coverity (CID 215687). | |||||
2017-12-28 | HTTP keep-alive connections support. | Igor Sysoev | 1 | -0/+384 | |