Axel Duch
7785c96c1a
Added routing based on request scheme.
...
Scheme matches exact string “http” or “https”.
2019-07-24 13:47:35 +03:00
Igor Sysoev
16273cf1c6
Handling routing errors.
2019-05-30 15:33:51 +03:00
Max Romanov
452ce0789e
Adjusting request schema value according to connection tls state.
...
This closes #223 issue on GitHub.
2019-03-21 13:55:57 +03:00
Max Romanov
f49379215a
Setting request error flag in error handler.
...
Absence of this flag is the reason of memory leak in case when client
disconnected before receiving all response data.
2019-03-18 19:55:34 +03:00
Alexander Borisov
dccb4cf354
Removed unnecessary abstraction layer.
2019-03-06 15:26:45 +03:00
Valentin Bartenev
e929d08201
Fixed processing of SERVER_NAME after 77aad2c142a0.
...
Previously, the nxt_router_prepare_msg() function expected server host among
other headers unmodified. It's not true anymore since normalization of the
Host header has been introduced in 77aad2c142a0.
The nxt_unit_split_host() function was removed. It didn't work correctly with
IPv6 literals. Anyway, after 77aad2c142a0 the port splitting is done in router
while Host header processing.
2019-02-27 17:25:07 +03:00
Igor Sysoev
d4ccaae900
Initial routing implementation.
2019-02-27 16:41:11 +03:00
Valentin Bartenev
c5563d142d
Removed surplus check for NUL in nxt_http_validate_host().
...
Such header fields are already rejected by HTTP parser.
2019-02-23 14:48:33 +03:00
Valentin Bartenev
2d4697dbbe
Validation and normalization of request host.
2019-02-19 20:25:25 +03:00
Igor Sysoev
bb11e9036f
Fixed memory leak on response body sending failure.
2019-02-18 17:28:55 +03:00
Valentin Bartenev
2a6b54c230
Rejecting requests with duplicate "Content-Length".
2019-02-18 16:51:30 +03:00
Valentin Bartenev
a2cbe890a1
Rejecting requests with invalid "Content-Length".
2019-02-07 17:40:27 +03:00
Valentin Bartenev
da0ef366dc
Handling of timers with bias.
...
Timers that don't require maximum precision (most of them, actually) can be
triggered earlier or later within the bias interval.
To reduce wakeups by timers, the expire function now triggers not only all
timers that fall within the elapsed time, but also those whose bias falls
within this interval.
2018-10-22 16:04:16 +03:00
Igor Sysoev
69a1169cae
Sending 408 response on idle connection timeout.
2018-07-30 17:05:48 +03:00
Valentin Bartenev
1a52d876f7
Introduced nxt_length() macro.
2018-06-25 16:51:47 +03:00
Igor Sysoev
ff6ca2a82c
Fixed keep-alive hanging after reconfiguration.
2018-05-30 18:46:05 +03:00
Valentin Bartenev
3e8dbfe5ff
Added SERVER_SOFTWARE request meta-variable.
2018-05-21 16:14:24 +03:00
Valentin Bartenev
204c394721
Initial access log support.
2018-04-11 18:23:33 +03:00
Igor Sysoev
fa04c05aa0
HTTP: using r->mem_pool retention counter for response buffers.
2018-04-03 16:28:26 +03:00
Valentin Bartenev
bebc5845f8
Capitalization in the "Server" field.
2018-03-13 20:32:47 +03:00
Valentin Bartenev
9646772a00
HTTP: the Date response header.
2018-02-12 16:58:40 +03:00
Sergey Kandaurov
67c64a99fb
Using size_t for the field width type of the "%*s" specifier.
2018-01-24 15:16:32 +03:00
Igor Sysoev
059695eeed
HTTP: request body length was not passed to application.
...
The bug has appeared in changeset 5817734dd9b9.
2018-01-12 17:54:50 +03:00
Igor Sysoev
b09227fa5c
HTTP: request body was not passed to application.
...
The bug has appeared in changeset 5817734dd9b9.
2018-01-11 09:49:35 +03:00
Igor Sysoev
4c4981f992
Using correct pointer in test operation.
...
Found by Coverity (CID 215687).
2017-12-29 18:43:55 +03:00
Igor Sysoev
9a6d3c5775
HTTP keep-alive connections support.
2017-12-28 16:01:06 +03:00