summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_application.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-04-17Added missing checks if nxt_port_rpc_register_handler() failed.Valentin Bartenev1-0/+4
This closes #97 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
2018-04-05Handling error return from application 'run()' function.Max Romanov1-1/+7
Server error response generated or connection closed.
2018-04-04Changed version processing for modules.Alexander Borisov1-8/+10
2018-03-21Added Ruby support.Alexander Borisov1-0/+3
2018-03-05Reduced number of critical log levels.Valentin Bartenev1-10/+5
2018-02-14Fixed race condition while discovering modules.Valentin Bartenev1-20/+42
Previously, the discovery process might exit before the main process received a list of available modules.
2018-01-31Added Perl support.Alexander Borisov1-3/+3
2018-01-24Fixed formatting in nxt_sprintf() and logging.Sergey Kandaurov1-1/+1
2018-01-24Using size_t for the field width type of the "%*s" specifier.Sergey Kandaurov1-3/+5
2017-12-28Removed duplicate declaration.Igor Sysoev1-1/+1
2017-12-28HTTP keep-alive connections support.Igor Sysoev1-207/+16
2017-12-28Changed nxt_mp_retain() and nxt_mp_release() interfaces.Igor Sysoev1-1/+1
2017-12-27Implementing the ability to cancel request before worker starts processing it.Max Romanov1-61/+31
2017-12-27Introducing application 'atexit' hook.Max Romanov1-1/+12
Finalizing Python interpreter. This closes #65 issue on GitHub.
2017-12-25HTTP parser: reworked header fields handling.Valentin Bartenev1-46/+45
2017-12-07Fixed protocol version string handling in router.Valentin Bartenev1-1/+1
2017-10-18Added the debug option to module compatibility vector.Igor Sysoev1-1/+1
2017-10-10Optimized application type handling.Valentin Bartenev1-23/+41
2017-10-05Improved applications versions handling.Valentin Bartenev1-3/+9
2017-10-04Using request mem pool for req<->app link.Max Romanov1-1/+1
Request <-> application link structure (nxt_req_app_link_t) used to register the request in application request queue (nxt_app_t.requests) and generate application-specific port message. Now it is allocated from request pool. This pool created for request parsing and used to allocate and store information specific to this request.
2017-09-16Fixed memory leak caused by mempool related to request context.Valentin Bartenev1-7/+3
The previous attempt of fixing this in e5a65b58101f hasn't been really successful, because the actual memory leak was caused not by the request parse context itself, but its memory pool.
2017-09-15Fixing memory leak of request parse context.Max Romanov1-8/+26
2017-09-06Style fixes.Igor Sysoev1-8/+7
2017-09-05Double connection close attempt fix.Max Romanov1-2/+2
2017-09-05Introducing working_directory directive for applications.Max Romanov1-0/+13
2017-08-31Fixed format specifier.Igor Sysoev1-1/+1
2017-08-31Introduced module compatibility vector.Igor Sysoev1-5/+21
2017-08-30The discovery process did not quit if no modules were not found.Igor Sysoev1-41/+48
2017-08-29The master process has been renamed to the main process.Igor Sysoev1-2/+2
2017-08-26Added configure and command line option --modules.Igor Sysoev1-2/+3
2017-08-17The new module configuration interface.Igor Sysoev1-20/+305
Configuration and building example: ./configure ./configure python ./configure php ./configure go make all or ./configure make nginext ./configure python make python ./configure php make php ./configure go make go Modules configuration options and building examples: ./configure python --module=python2 --config=python2.7-config make python2 ./configure php --module=php7 --config=php7.0-config --lib-path=/usr/local/php7.0 make php7 ./configure go --go=go1.6 --go-path=${HOME}/go1.6 make go1.6
2017-08-11Request body read state implemented.Max Romanov1-38/+132
With specific timeout and buffer size settings.
2017-07-12New process port exchange changed. READY message type introduced.Max Romanov1-5/+53
Application process start request DATA message from router to master. Master notifies router via NEW_PORT message after worker process become ready.
2017-07-05Complex target parser copied from NGINX.Max Romanov1-12/+4
nxt_app_request_header_t fields renamed: - 'path' renamed to 'target'. - 'path_no_query' renamed to 'path' and contains parsed value.
2017-06-23Application-side message processing.Max Romanov1-747/+332
Usage on the router side: nxt_app_wmsg_t wmsg; nxt_app_parse_ctx_t parse_ctx; nxt_app_http_req_init(task, &parse_ctx); /* parse incoming request data */ if (nxt_app_http_req_parse(task, &parse_ctx, buf) == NXT_DONE) { /* choose app */ nxt_app = nxt_select_app(... &parse_ctx.r ...); /* find port */ wmsg.port = nxt_get_app_port(... nxt_app ...); wmsg.buf = &wmsg.write; /* fill write message buffer in shared mem */ nxt_app->prepare_msg(task, &parse_ctx.r, &wmsg); /* send message to app for processing */ nxt_port_socket_write(task, wmsg.port, NXT_PORT_MSG_DATA, -1, 0, 0, wmsg.write); }
2017-06-20Using new memory pool implementation.Igor Sysoev1-14/+14
2017-06-14nxt_event_conn_... functions and structures have been renamedIgor Sysoev1-24/+24
to nxt_conn_...
2017-06-06C99 style declaration of connection states.Igor Sysoev1-19/+7
2017-05-31Skeleton of router configuration and request processing.Igor Sysoev1-4/+4
2017-03-14Fixed unit tests building broken by the previous commit.Igor Sysoev1-1/+1
2017-03-09Processes refactoring.Igor Sysoev1-7/+45
The cycle has been renamed to the runtime.
2017-02-22I/O operations refactoring.Igor Sysoev1-19/+18
2017-02-07Event engines refactoring.Igor Sysoev1-6/+24
2017-02-01nxt_str_t changes.Igor Sysoev1-36/+36
2017-01-27Work queues refactoring.Igor Sysoev1-38/+66
2017-01-23Introducing tasks.Igor Sysoev1-49/+70
2017-01-17Initial version.Igor Sysoev1-0/+903