Commit Graph

1102 Commits

Author SHA1 Message Date
Andrey Zelenkov
72b56388b7 Tests: Node.js websockets tests tuned. 2019-08-22 18:28:23 +03:00
Max Romanov
e291841b33 Node.js: introducing websocket support. 2019-08-20 16:32:05 +03:00
Max Romanov
e501c74ddc Introducing websocket support in router and libunit. 2019-08-20 16:31:53 +03:00
Andrey Zelenkov
9bbf54e23e Tests: Node.js websockets. 2019-08-22 15:33:41 +03:00
Andrey Zelenkov
08601bbbf0 Tests: "--unsafe" option introduced. 2019-08-22 15:26:15 +03:00
Andrey Zelenkov
b4c09e2954 Tests: reverted rerun for Java tests in 5e429a7f133c.
Each testcase should also recompile to be recompiled.
So backed out for now.
2019-08-21 14:24:23 +03:00
Max Romanov
686f5b1436 Changing the sequence of body send execution.
Request state ready_handler required for further websocket events processing.
It is not required for regular response transferring.
2019-08-16 14:55:18 +03:00
Max Romanov
29911538ea Improving response header fields processing.
Fields are filtered one by one before being added to fields list.
This avoids adding and then skipping connection-specific fields.
2019-08-16 00:56:38 +03:00
Max Romanov
caea9d3c07 Fixing multi-thread port write racing conditions. 2019-08-16 00:48:11 +03:00
Andrey Zelenkov
4d7576d323 Tests: print decoded strings in detailed mode, if possible. 2019-08-14 16:26:47 +03:00
Max Romanov
1b095ff417 Renaming supplemental request structures in router.
- nxt_req_app_link_t  -> nxt_request_app_link_t
- nxt_req_conn_link_t -> nxt_request_rpc_data_t

Corresponding abbreviated field names also changed:
- ra -> req_app_link
- rc -> req_rpc_data
2019-08-14 23:59:46 +03:00
Andrey Zelenkov
ac316ff7a5 Tests: fixed port reusing to avoid access issues. 2019-08-14 15:53:58 +03:00
Max Romanov
4bef4256c0 Java: implementing multipart message support.
This closes #265 issue on GitHub.
2019-08-14 15:24:41 +03:00
Andrey Zelenkov
8904c87c6b Tests: goftm used for Go applications. 2019-08-14 14:06:28 +03:00
Andrey Zelenkov
b3b7013eda Tests: added tests for deleting listeners and applications objects. 2019-08-14 14:06:22 +03:00
Andrey Zelenkov
78fbf9ee60 Tests: fixed modules version parsing. 2019-08-08 15:47:26 +03:00
Andrey Zelenkov
e8d1c760d6 Tests: Java multipart test. 2019-08-07 14:43:38 +03:00
Andrey Zelenkov
c8c259b972 Tests: rerun tests for each module version.
Rerun supported for Python, PHP, Perl, Ruby, and Java modules.
2019-08-06 18:25:13 +03:00
Valentin Bartenev
274260bd28 Router: allowed empty configurations.
Now it's possible to delete "listeners" and "applications" objects.

This closes #187 issue on GitHub.
2019-08-06 17:13:13 +03:00
Valentin Bartenev
7fd9444728 Node.js: returning "this" from writeHead() to allow chaining.
In Node.js version 11.10.0 and later, the writeHead() function returns "this".
2019-08-06 16:24:11 +03:00
Igor Sysoev
c7210eaa5a nxt_h1proto_t definition was moved to h1proto implementation. 2019-08-06 15:29:40 +03:00
Igor Sysoev
17bb22a4e4 Refactored HTTP protocol callback table. 2019-08-06 15:29:39 +03:00
Andrey Zelenkov
fdf570f1d9 Tests: added delay before SIGQUIT in access_log partial tests.
This change is necessary to avoid race between
client connection close and Unit close.

Also "read_timeout" value decreased to speed up tests.
2019-08-01 18:15:00 +03:00
Axel Duch
7785c96c1a Added routing based on request scheme.
Scheme matches exact string “http” or “https”.
2019-07-24 13:47:35 +03:00
Andrey Zelenkov
b1165d2edc Tests: fixed test_java_conf_error to pass with "--modules=" option. 2019-07-23 14:58:27 +03:00
Valentin Bartenev
242dc363ce Perl: propagated compile options from perl build.
Some Perl compile options affects ABI and not using them while compiling
our module resulted in non-working build.

Notably on 32-bit Debian 10, Perl is built with -D_FILE_OFFSET_BITS=64
and our module after being compiled without this option caused segmentation
faults in unexpected places.
2019-07-17 21:17:30 +03:00
Valentin Bartenev
dbce694d5a Perl: removed "--include=" configure option.
It's surplus option because the perl executable returns the proper path.

Also the Perl module configure script was cleaned up a bit.
Note that NXT_PERL_LDOPTS already contains the library path.
2019-07-17 21:17:30 +03:00
Andrey Zelenkov
a920215a5c Tests: more Java tests.
Added test with war file and error configuration test.
2019-07-17 17:48:35 +03:00
Andrey Zelenkov
4153fad89d Tests: added PHP tests with "script" and "index" options. 2019-07-17 16:50:24 +03:00
Max Romanov
dcf46a63eb Exiting application process in case of pre_init stage error. 2019-07-17 16:57:43 +03:00
Max Romanov
aab235c4dc Java: fixing realpath error message. 2019-07-17 10:52:48 +03:00
Valentin Bartenev
ef89815f03 PHP: fixed script filename setting, broken after 2a71417d297f. 2019-07-16 17:58:48 +03:00
Andrey Zelenkov
ce1fbd9273 Tests: simplified one route case configuration.
No functional changes.
2019-07-14 23:49:45 +03:00
Andrey Zelenkov
b097476824 Tests: TestApplicationTLS.openssl_conf() introduced. 2019-07-14 23:49:37 +03:00
Andrey Zelenkov
72e987e110 Tests: check application configuration loading in TLS tests. 2019-07-14 23:49:31 +03:00
Andrey Zelenkov
ff5413f109 Tests: removed unnecessary initialization.
That could leads to the incorrect behaviour in test_tls_application_respawn.
2019-07-14 23:47:49 +03:00
Andrey Zelenkov
ee1f0365d2 Tests: removed unused import. 2019-07-14 23:47:07 +03:00
Andrei Belov
c0aad59d13 Packages: Debian 10 "buster" support added. 2019-07-09 14:17:03 +03:00
Andrey Zelenkov
d7516e5f4e Tests: made openssl certificates more strong to avoid errors. 2019-07-08 20:46:06 +03:00
Andrey Zelenkov
4ea7d71405 Tests: added PATH_INFO variable test. 2019-07-08 19:23:33 +03:00
Max Romanov
cc578b2e63 PHP: added PATH_INFO support. 2019-07-05 21:10:01 +03:00
Valentin Bartenev
924165c90b PHP: improved response status code handling.
There's no reason to parse "http_status_line"; the PHP interpreter already
does this.  If the line contains a valid status code, it's assigned to
"http_response_code".

This also fixes invalid status line handling, where the nxt_int_parse()
function returned -1; it was cast to unsigned, yielding response code 65535.
2019-07-05 18:42:30 +03:00
Andrei Belov
e1de5bcfab Packages: log and pid paths made consistent. 2019-07-04 14:14:29 +03:00
Andrey Zelenkov
bcb9048c46 Tests: adjusted inactive interval in Java app for slow hosts. 2019-07-02 16:44:08 +03:00
Andrey Zelenkov
29225c4fc6 Tests: removed misleading comments in test_routing.t. 2019-07-02 15:36:13 +03:00
Max Romanov
b1ee073707 PHP: removing excessive debug message. 2019-06-28 12:20:00 +03:00
Max Romanov
ce17fef73d Fixed application crash handling in router.
Before this fix, request in router may hang until timeout expired if
application crashed during request processing.
2019-06-28 12:19:54 +03:00
Max Romanov
9ea4be7e4e Fixing allocation alignment for port fragments.
All allocated blocks for lvlhash required to be aligned because lower
address bits used for various extra information.  Using unaligned blocks
may cause invalid memory aceess.

This was issue found on buildbot running large configuration tests.
2019-06-28 12:19:48 +03:00
Max Romanov
3ceec5f4d2 Java: adding Content-Type response header for static files. 2019-06-28 12:19:40 +03:00
Igor Sysoev
a2c1907fda Decreased level of some shutdown() and send() errors. 2019-06-18 18:01:03 +03:00