Valentin Bartenev
be943c9fd4
Fixed build with Clang 10, broken by 32578e837322.
...
This silences the -Wimplicit-int-float-conversion warning.
2020-04-01 18:33:48 +03:00
Valentin Bartenev
68c6b67ffc
Configuration: support for rational numbers.
2020-03-30 19:37:58 +03:00
Valentin Bartenev
fd8e524b82
Configuration: fixed comments parsing.
...
Unclosed multi-line comments and "/" at the end of JSON shouldn't be allowed.
2020-03-25 19:14:15 +03:00
Valentin Bartenev
044b3afcda
Configuration: stripping comments from the input JSON.
...
This allows to have JavaScript-like comments in the uploading JSON.
2020-02-20 17:58:24 +03:00
Tiago Natel
0beb8ea5e1
Fixed passing false in namespace flags.
...
This patch closes #328 in github.
2019-10-11 10:00:06 +00:00
Valentin Bartenev
ca01845d89
Configuration: added ability to modify object members with slashes.
...
Example:
PUT/POST/DELETE /config/listeners/unix:%2Fpath%2Fto%2Fsocket
This follows a49ee872e83d.
2019-09-18 16:03:28 +03:00
Valentin Bartenev
64be8717bd
Configuration: added ability to access object members with slashes.
...
Now URI encoding can be used to escape "/" in the request path:
GET /config/listeners/unix:%2Fpath%2Fto%2Fsocket/
2019-09-16 20:17:42 +03:00
Valentin Bartenev
6a6bc63c48
Configuration: support for POST operations on arrays.
...
It allows to add an array element without specifying the index.
2019-04-24 20:31:00 +03:00
Valentin Bartenev
4d35a7bbac
Configuration: support for manipulations of array elements.
...
Now PUT and DELETE operations also work on elements.
This closes #242 issue on GitHub.
2019-04-24 20:31:00 +03:00
Valentin Bartenev
30768b7b3c
Refactored nxt_conf_op_compile().
...
Now index is always initialized for create operations.
The changes in nxt_conf_op_compile() simplify adding upcoming support of
operations with arrays.
No functional changes.
2019-04-24 20:31:00 +03:00
Valentin Bartenev
1467d34d73
Removed unused field from nxt_conf_op_s.
2019-04-24 20:31:00 +03:00
Igor Sysoev
ce650ea0f7
Introduced nxt_conf_array_qsort().
2019-02-26 19:48:41 +03:00
Igor Sysoev
547082171e
Introduced nxt_conf_array_elements_count().
2019-02-26 19:48:38 +03:00
Valentin Bartenev
08e0082e07
Fixed discovering of modules on 64-bit big-endian systems.
...
The nxt_conf_map_object() function used nxt_int_t for NXT_CONF_MAP_INT, which
was 8 bytes long on 64-bit systems.
But the nxt_port_main_start_worker_handler() used it to map into the int field
of the nxt_common_app_conf_t structure, which was 4 bytes. As the result, on
a 64-bit big-endian system all the meaningful module type numbers were assigned
into the gap above the "type" field.
The bug was discovered on IBM/S390x.
2018-11-15 11:59:03 +03:00
Valentin Bartenev
a2eca97e89
Controller: addressing of array elements in requests.
2018-09-20 15:27:14 +03:00
Valentin Bartenev
8d844bc2aa
Controller: certificates storage interface.
2018-09-20 15:27:08 +03:00
Valentin Bartenev
2dfd8ffc2f
Deduplicated string value initializations.
2018-09-20 15:27:06 +03:00
Valentin Bartenev
1a52d876f7
Introduced nxt_length() macro.
2018-06-25 16:51:47 +03:00
Valentin Bartenev
0665896a55
Style: capitalized letters in hexadecimal literals.
2018-04-04 18:13:05 +03:00
Igor Sysoev
5177b085b1
nxt_lvlhsh_each() refactoring and nxt_lvlhsh_each_init().
2018-03-29 16:35:42 +03:00
Max Romanov
9cd4fdbdb7
Introducing extended app process management.
...
- Pre-fork 'processes.spare' application processes;
- fork more processes to keep 'processes.spare' idle processes;
- fork on-demand up to 'processes.max' count;
- scale down idle application processes above 'processes.spare' after
'processes.idle_timeout';
- number of concurrently started application processes also limited by
'processes.spare' (or 1, if spare is 0).
2018-01-29 16:17:36 +03:00
Valentin Bartenev
89a1c66dd0
Fixed crash on invalid JSON number.
2017-11-21 18:41:43 +03:00
Max Romanov
0bec14878e
Introducing application timeout.
2017-09-15 20:30:24 +03:00
Nick Shadrin
f3280c5dc9
Fixed error messages grammar.
2017-09-12 21:14:40 +03:00
Valentin Bartenev
1ba2f44ad9
Introduced nxt_conf_get_array_element().
2017-08-16 15:45:38 +03:00
Valentin Bartenev
95907e2912
Object mapping interface extended with more string types.
2017-08-16 15:45:12 +03:00
Valentin Bartenev
2614758c04
Fixed building on ppc.
2017-08-15 16:36:00 +03:00
Valentin Bartenev
80deee3903
Controller: more HTTP headers and detailed JSON parsing errors.
2017-08-11 19:54:40 +03:00
Valentin Bartenev
8bb88aaf51
Fixed parsing of JSON encoded UTF-16 surrogate pairs.
2017-08-11 18:13:57 +03:00
Valentin Bartenev
70d73d633b
Fixed JSON escape sequence parsing.
2017-08-08 22:20:01 +03:00
Max Romanov
83d7ab38ac
Using old-style packed attribute specification for compatibility.
2017-08-02 13:01:54 +03:00
Max Romanov
316c77a9de
Fixed building on Solaris by Sun C.
2017-07-25 16:18:31 +03:00
Valentin Bartenev
ee5b018cc2
Configuration: improved declaration of short strings.
2017-07-18 18:00:19 +03:00
Valentin Bartenev
a6c4ef7a10
Configuration: reduced memory consumption of long strings.
2017-07-18 18:00:19 +03:00
Valentin Bartenev
f16510585f
Configuration: reduced memory consumption.
2017-07-18 18:00:15 +03:00
Valentin Bartenev
eb4c2e4a21
Configuration: nxt_conf_map_object() improvements.
2017-07-10 17:55:51 +03:00
Valentin Bartenev
fc9f73bbea
Controller: relaxed JSON parser.
...
Now it allows commas after the last elements in objects and arrays,
as it's a common Igor's mistake.
2017-07-07 18:09:15 +03:00
Valentin Bartenev
c9fbd832ab
Controller: sending JSON configuration to router.
2017-07-06 22:52:05 +03:00
Valentin Bartenev
22d73057d9
Fixed mapping of int32_t in nxt_conf_map_object().
2017-07-06 22:50:38 +03:00
Valentin Bartenev
842aa9ab46
Configuration: basic validation of schema.
2017-07-05 18:44:43 +03:00
Igor Sysoev
f05d674126
Added nxt_msec_t element to nxt_conf_map_object().
2017-06-29 19:26:32 +03:00
Valentin Bartenev
53074c3b29
Configuration: reduced names of structures, functions, and macros.
2017-06-28 18:56:33 +03:00