Revision tags: 1.32.0-1, 1.32.0 |
|
#
2623:15a457cb829e |
| 25-Jan-2024 |
Andrei Zeliankou |
Node.js: fixed "httpVersion" variable format
According to the Node.js documenation this variable should only include numbering scheme.
Thanks to @dbit-xia.
Closes: https://github.com/nginx/unit/is
Node.js: fixed "httpVersion" variable format
According to the Node.js documenation this variable should only include numbering scheme.
Thanks to @dbit-xia.
Closes: https://github.com/nginx/unit/issues/1085
show more ...
|
Revision tags: 1.31.1-1, 1.31.1, 1.31.0-1, 1.31.0, 1.30.0-1, 1.30.0, 1.29.1-1, 1.29.1, 1.29.0-1, 1.29.0 |
|
#
2208:26af8eadc943 |
| 29-Sep-2022 |
Andrew Clayton |
Renamed a couple of members of nxt_unit_request_t.
This is a preparatory patch that renames the 'local' and 'local_length' members of the nxt_unit_request_t structure to 'local_addr' and 'local_addr
Renamed a couple of members of nxt_unit_request_t.
This is a preparatory patch that renames the 'local' and 'local_length' members of the nxt_unit_request_t structure to 'local_addr' and 'local_addr_length' in preparation for the adding of 'local_port' and 'local_port_length' members.
Suggested-by: Zhidao HONG <z.hong@f5.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
show more ...
|
Revision tags: 1.28.0-1, 1.28.0, 1.27.0-1, 1.27.0, 1.26.1-1, 1.26.1, 1.26.0-1, 1.26.0 |
|
#
1980:43553aa72111 |
| 28-Oct-2021 |
Max Romanov |
Moving request limit control to libunit.
Introducting application graceful stop. For now only used when application process reach request limit value.
This closes #585 issue on GitHub.
|
Revision tags: 1.25.0-1, 1.25.0, 1.24.0-1, 1.24.0, 1.23.0-1, 1.23.0, 1.22.0-1, 1.22.0 |
|
#
1767:582a004c73f8 |
| 29-Dec-2020 |
Max Romanov |
Libunit: processing single port message.
This partially reverts the optimisation introduced in 1d84b9e4b459 to avoid an unpredictable block in nxt_unit_process_port_msg(). Under high load, this fun
Libunit: processing single port message.
This partially reverts the optimisation introduced in 1d84b9e4b459 to avoid an unpredictable block in nxt_unit_process_port_msg(). Under high load, this function may never return control to its caller, and the external event loop (in Node.js and Python asyncio) won't be able to process other scheduled events.
To reproduce the issue, two request processing types are needed: 'fast' and 'furious'. The 'fast' one simply returns a small response, while the 'furious' schedules asynchronous calls to external resources. Thus, if Unit is subjected to a large amount of 'fast' requests, the 'furious' request processing freezes until the high load ends.
The issue was found by Wu Jian Ping (@wujjpp) during Node.js stream implementation discussion and relates to PR #502 on GitHub.
show more ...
|
#
1766:9ec17030b67e |
| 29-Dec-2020 |
Max Romanov |
Node.js: ServerRequest and ServerResponse compliance to Stream API.
ServerRequest now inherit stream Readable object. ServerResponse provides 'writable' property.
Thanks to Wu Jian Ping (@wujjpp).
Node.js: ServerRequest and ServerResponse compliance to Stream API.
ServerRequest now inherit stream Readable object. ServerResponse provides 'writable' property.
Thanks to Wu Jian Ping (@wujjpp).
This closes #274, closes #317 issues and closes #502 PR on GitHub.
show more ...
|
#
1731:43759e8fd1f6 |
| 07-Dec-2020 |
Max Romanov |
Node.js: avoided use of request struct for debug logging.
This fixes a crash on exit of Node.js application. The crash reproduced on Ubuntu 20.10 with Node.js v15.1.0. Tests 'test_node_websockets_
Node.js: avoided use of request struct for debug logging.
This fixes a crash on exit of Node.js application. The crash reproduced on Ubuntu 20.10 with Node.js v15.1.0. Tests 'test_node_websockets_two_clients' and 'test_node_websockets_7_13_1__7_13_2'.
The reason of the crash is using request struct which was already freed.
The issue was introduced in 5be509fda29e.
show more ...
|
#
1729:5be509fda29e |
| 30-Nov-2020 |
Max Romanov |
Node.js: removing unnecessary warnings.
Warnings changed for debug messages.
|
Revision tags: 1.21.0-1, 1.21.0 |
|
#
1715:95874fd97501 |
| 18-Nov-2020 |
Max Romanov |
Libunit: closing active requests on quit.
|
Revision tags: 1.20.0-1, 1.20.0, 1.19.0-1, 1.19.0 |
|
#
1547:cbcd76704c90 |
| 11-Aug-2020 |
Max Romanov |
Introducing the shared application port.
This is the port shared between all application processes which use it to pass requests for processing. Using it significantly simplifies the request proces
Introducing the shared application port.
This is the port shared between all application processes which use it to pass requests for processing. Using it significantly simplifies the request processing code in the router. The drawback is 2 more file descriptors per each configured application and more complex libunit message wait/read code.
show more ...
|
#
1543:42f27153db91 |
| 11-Aug-2020 |
Max Romanov |
Libunit refactoring: port management.
- Changed the port management callbacks to notifications, which e. g. avoids the need to call the libunit function - Added context and library instance referenc
Libunit refactoring: port management.
- Changed the port management callbacks to notifications, which e. g. avoids the need to call the libunit function - Added context and library instance reference counts for a safer resource release - Added the router main port initialization
show more ...
|
#
1536:8d1511734750 |
| 07-Aug-2020 |
Max Romanov |
Node.js: correct port data memory release.
According to libuv documentation, uv_poll_t memory should be released in a callback function passed to uv_close(). Otherwise, the Node.js application proc
Node.js: correct port data memory release.
According to libuv documentation, uv_poll_t memory should be released in a callback function passed to uv_close(). Otherwise, the Node.js application process may crash at exit.
show more ...
|
Revision tags: 1.18.0-1, 1.18.0, 1.17.0-1, 1.17.0, 1.16.0-1, 1.16.0 |
|
#
1373:65151d4ec48f |
| 03-Mar-2020 |
Max Romanov |
Node.js: fixing x86 warning about the signed/unsigned comparison.
|
Revision tags: 1.15.0-1, 1.15.0 |
|
#
1342:f32913c67752 |
| 28-Jan-2020 |
Max Romanov |
Node.js: suppress compilation warning.
|
Revision tags: 1.14.0-1, 1.14.0 |
|
#
1322:a57afd02a579 |
| 24-Dec-2019 |
Max Romanov |
Node.js: implementing output message drain using SHM_ACK feature.
ServerResponse.write() method tries to write data buffer using libunit and stores buffers to write in a Server-wide output queue, wh
Node.js: implementing output message drain using SHM_ACK feature.
ServerResponse.write() method tries to write data buffer using libunit and stores buffers to write in a Server-wide output queue, which is processed in response to SHM_ACK message from router.
As a side effect 'drain' event implemented and socket.writable flag reflect current state.
show more ...
|
Revision tags: 1.13.0-1, 1.13.0 |
|
#
1257:00eea530513c |
| 11-Nov-2019 |
Max Romanov |
Fixing libunit 'off by 2' issue in library.
Name and value in each header are 0-terminated, so additional 2 bytes should be allocated for them. There were several attempts to add these 2 bytes to h
Fixing libunit 'off by 2' issue in library.
Name and value in each header are 0-terminated, so additional 2 bytes should be allocated for them. There were several attempts to add these 2 bytes to headers in language modules, but some modules weren't updated. Also, adding these 2 bytes is specific to the implementation which may be changed later, so extending this mechanics to modules may cause errors.
show more ...
|
Revision tags: 1.12.0-1, 1.12.0, 1.11.0-2, 1.11.0-1, 1.11.0, 1.10.0-2, 1.10.0-1, 1.10.0 |
|
#
1132:9ac5b5f33ed9 |
| 20-Aug-2019 |
Max Romanov |
Node.js: introducing websocket support.
|
Revision tags: 1.9.0-1, 1.9.0 |
|
#
1038:77fb332f214a |
| 17-Apr-2019 |
Max Romanov |
Node.js: using low-case header names as key in req.headers.
Node.js modules (body-parser, row-body) search low-cased names ('content-length', 'content-type' etc.) to properly assemble request body.
Node.js: using low-case header names as key in req.headers.
Node.js modules (body-parser, row-body) search low-cased names ('content-length', 'content-type' etc.) to properly assemble request body.
This closes #246 issue on GitHub.
show more ...
|
#
1023:cf4525f1b708 |
| 02-Apr-2019 |
Max Romanov |
Removing unused variables and assignments.
Warnings introduced in 53533ba0097c commit.
|
#
1022:15b98689a353 |
| 01-Apr-2019 |
Max Romanov |
Adding 'connection' to request as an alias to 'socket'.
Adding actual 'remoteAddress' and 'localAddress' into socket object.
This closes #232 issue on GitHub.
|
#
1021:8884d891d4c7 |
| 01-Apr-2019 |
Max Romanov |
Introducing close event to notify about server stop.
This closes #236 on GitHub. Thanks to 0xcdcdcdcd.
|
#
1020:53533ba0097c |
| 01-Apr-2019 |
Max Romanov |
Adding syntax sugar.
With exceptions and overloads.
|
#
1008:84f2370bd642 |
| 11-Mar-2019 |
Andrey Zelenkov |
Style.
|
Revision tags: 1.8.0-1, 1.8.0, 1.7.1-1, 1.7.1, 1.7-1, 1.7 |
|
#
876:c73c6c985986 |
| 19-Dec-2018 |
Alexander Borisov |
Node.js: checking for exception after running JS code from C++.
|
#
875:dae402cb243f |
| 19-Dec-2018 |
Alexander Borisov |
Node.js: checking uniqueness of HTTP headers for different case.
|
#
871:3c679d901524 |
| 19-Dec-2018 |
Alexander Borisov |
Node.js: napi_call_function() replaced with napi_make_callback().
The sequence of napi_open_callback_scope(), napi_call_function(), and napi_close_callback_scope() functions calls executes the provi
Node.js: napi_call_function() replaced with napi_make_callback().
The sequence of napi_open_callback_scope(), napi_call_function(), and napi_close_callback_scope() functions calls executes the provided JS code and all functions enqueued by process.nextTick() and Promises during this execution.
show more ...
|