Commit Graph
46 Commits
Author SHA1 Message Date
Valentin Bartenev dc874cd22e Configuration: improved validation. 2017-07-10 18:53:36 +03:00
Valentin Bartenev eb4c2e4a21 Configuration: nxt_conf_map_object() improvements. 2017-07-10 17:55:51 +03:00
Valentin Bartenev c0674de78d Controller: passing full configuration to router. 2017-07-10 17:55:44 +03:00
Valentin Bartenev fd0a4ff064 Configuration: basic schema validation for applications. 2017-07-07 20:37:43 +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
Valentin Bartenev e4afc6ae98 Controller: fixed reading of request body. 2017-06-28 22:48:13 +03:00
Valentin Bartenev 53074c3b29 Configuration: reduced names of structures, functions, and macros. 2017-06-28 18:56:33 +03:00
Valentin Bartenev dfd3cc8c0e Applied nxt_pointer_to() and nxt_value_at() where possible. 2017-06-27 17:27:18 +03:00
Valentin Bartenev f86c803098 Interface for mapping JSON configuration objects to C structures. 2017-06-26 21:41:58 +03:00
Valentin Bartenev 01517e37c1 Simplified nxt_conf_json_object_get_member(). 2017-06-26 20:22:57 +03:00
Valentin Bartenev 9399a04121 Configuration printing functions splitted in two parts.
Requested by Igor.
2017-06-23 23:28:37 +03:00
Valentin Bartenev 72429410f7 Renames and reordering of parameters in configuration parser functions.
Requested by Igor.
2017-06-23 20:54:07 +03:00
Valentin Bartenev fa94dc7782 Configuration: fixed parsing of JSON literals. 2017-06-23 17:35:06 +03:00
Valentin Bartenev 9593ce769a Removed surplus type casting from nxt_memcmp() calls. 2017-06-21 22:45:20 +03:00
Valentin Bartenev 58e24662da Fixed building by GCC 4.8 and older. 2017-06-21 22:35:41 +03:00
Valentin Bartenev accb489492 HTTP parser: reduced memory consumption of header fields list. 2017-06-20 22:32:13 +03:00
Valentin Bartenev db6642f374 HTTP parser: decoupled header fields processing. 2017-06-13 20:11:29 +03:00
Valentin Bartenev f6e7c2b6a6 HTTP parser: fixed handling header fields with missing colon. 2017-06-09 21:49:51 +03:00
Valentin Bartenev c5cd7e5e97 Fixed building by GCC 7 (broken in 0b10a73d4993). 2017-06-09 21:38:10 +03:00
Valentin Bartenev cb1624fa42 Fixed building with epoll (broken in 92b4984ca3c1). 2017-06-09 21:37:29 +03:00
Valentin Bartenev dee819daab HTTP parser: changed style of a comment.
As requested by Igor.
2017-05-31 14:35:33 +03:00
Valentin Bartenev c0bf729c8e Controller: support for partial PUT and DELETE operations. 2017-05-30 17:12:20 +03:00
Valentin Bartenev 5cca4b3ab7 Style and a trivial fix. 2017-05-26 20:30:51 +03:00
Valentin Bartenev 48155f3a49 Optimized internal representation of JSON objects and arrays. 2017-05-23 14:02:37 +03:00
Valentin Bartenev c7be5bd6ae Controller: partial retrieving of configuration. 2017-05-18 20:40:19 +03:00
Valentin Bartenev dc95b2f3de Controller: pretty-printing of JSON responses. 2017-05-16 22:02:01 +03:00
Valentin Bartenev 0ca2c2fce2 Controller: trivial abilities to save and request configuration.
Now you can get current configuration with:

   $ curl 127.0.0.1:8443

and put new configuration with:

   $ curl -X PUT -d @conf.json 127.0.0.1:8443
2017-05-15 22:39:53 +03:00
Valentin Bartenev 9d16e1808b Added one more missing "fall through" comment in tests. 2017-05-10 19:26:56 +03:00
Valentin Bartenev ed38d86abb Added missing "fall through" comments to make GCC 7 happy. 2017-05-10 19:19:14 +03:00
Valentin Bartenev 558d1f8687 HTTP parser: fixed minimum length optimization in headers hash. 2017-04-25 16:57:14 +03:00
Valentin Bartenev 6e7f98d6ae Fixed overflow detection in number parsing functions. 2017-04-10 03:43:00 +03:00
Valentin Bartenev e0881fd85c The nxt_expect() macro. 2017-04-11 19:28:23 +03:00
Valentin Bartenev cddbab6312 JSON output in controller. 2017-04-11 00:29:47 +03:00
Valentin Bartenev 6af2d1cfc6 JSON parser: fixed missing initialization of short string length. 2017-04-11 00:29:29 +03:00
Valentin Bartenev b01865c023 Style and micro-optimizations in JSON parsing. 2017-04-10 23:04:34 +03:00
Valentin Bartenev 3d9be969e7 Removed unused nxt_lvlhsh_ctx_t. 2017-04-10 17:25:52 +03:00
Valentin Bartenev bf401fa544 JSON parsing in controller. 2017-04-10 17:06:22 +03:00
Valentin Bartenev e4e617469a Some basic HTTP handling in controller. 2017-03-16 16:28:31 +03:00
Valentin Bartenev 5745e48264 More optimizations of HTTP parser.
SSE 4.2 code removed, since loop unrolling gives better results.
2017-03-08 00:38:52 +03:00
Valentin Bartenev c69e4fb11a HTTP parser benchmark. 2017-03-08 00:28:26 +03:00
Valentin Bartenev c624c9ea64 Cleanup of memory allocated in nxt_mem_cache_pool_unit_test().
Leak sanitizer is happy now.
2017-03-06 22:23:34 +03:00
Valentin Bartenev 4df646a258 HTTP parser. 2017-03-01 15:29:18 +03:00
Valentin Bartenev fde4d18e3a Removed legacy HTTP parser. 2017-03-01 15:17:55 +03:00