Tatsuhiro Tsujikawa
4e3c61ef4d
nghttpx: Add accesslog variables to record request path without query
...
This commit the following variables to construct request line without
including query component:
* $method
* $path
* $path_without_query
* $protocol_version
2020-09-19 23:58:37 +09:00
Tatsuhiro Tsujikawa
abe80e371e
nghttpx: Fix logging integer
2020-06-10 20:56:33 +09:00
Tatsuhiro Tsujikawa
77f1c872b1
nghttpx: Fix unchanged log level on configuration reload
...
Previously, if log-level is not mentioned in configuration file and
reload happens, the log level was not set to the default value NOTICE.
Instead, the log level stayed the same. This commit fixes this bug.
2019-06-05 21:17:23 +09:00
Tatsuhiro Tsujikawa
c64d2573dc
Replace http-parser with llhttp
...
llhttp does not include URL parser. We extracted URL parser code from
http-parser and put it under third-party/url-parser.
llhttp bd3d224eb8cdc92c6fc8f508d7bbe0ba266e8e92
2019-04-20 18:42:30 +09:00
Tatsuhiro Tsujikawa
4d562b773b
nghttpx: Convert LogFragmentType to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
153531d4d0
nghttpx: Use the same type as standard stream operator<<
2018-10-07 22:19:00 +09:00
Tatsuhiro Tsujikawa
9c824b87fe
nghttpx: Get rid of std::stringstream from Log
2018-09-14 22:58:48 +09:00
Tatsuhiro Tsujikawa
880f948684
Enable IndentPPDirectives
2018-06-09 16:21:30 +09:00
Tatsuhiro Tsujikawa
ff200bfcf3
clang-format-5.0
2017-11-23 14:19:12 +09:00
Tatsuhiro Tsujikawa
eca0a3025b
nghttpx: Add $tls_client_serial log variable
2017-11-16 22:53:54 +09:00
Tatsuhiro Tsujikawa
22502182d0
Add tls_client_issuer_name log variable and expose it to mruby
2017-11-15 23:41:47 +09:00
Tatsuhiro Tsujikawa
539e27812b
nghttpx: Add tls_client_fingerprint_sha1 to mruby and accesslog
...
Also tls_client_fingerprint is renamed to
tls_client_fingerprint_sha256.
2017-10-31 21:41:40 +09:00
Tatsuhiro Tsujikawa
7008afd40e
nghttpx: Refactor get_x509_fingerprint to accept hash function
2017-10-31 21:28:16 +09:00
Tatsuhiro Tsujikawa
cb376bcd80
nghttpx: Add client fingerprint and subject name to accesslog
2017-10-29 21:47:00 +09:00
Tatsuhiro Tsujikawa
c4f8afcfde
nghttpx: Get TLS info only when it is necessary when writing accesslog
2017-10-29 21:22:33 +09:00
Tatsuhiro Tsujikawa
c573c80bd3
nghttpx: Pass a pointer to SSL instead of TLSSessionInfo to LogSpec
2017-10-29 19:47:39 +09:00
Tatsuhiro Tsujikawa
a2e35a0757
nghttpx: Add $tls_sni access log variable
2017-04-18 22:44:26 +09:00
Tatsuhiro Tsujikawa
a4a2b6403b
nghttpx: Use SHRPX_LOGF_TLS_* instead of SHRPX_LOGF_SSL_*
2017-04-18 22:34:08 +09:00
Tatsuhiro Tsujikawa
19ee7ec794
nghttpx: Escape certain characters in access log
...
The certain characters coming from client are now escaped with "\xNN"
where NN is the ascii code of the character in hex notation.
2017-03-25 19:17:24 +09:00
Tatsuhiro Tsujikawa
ace40f298d
nghttpx: Update log time stamp in millisecond interval
2017-02-17 00:18:07 +09:00
Tatsuhiro Tsujikawa
e5b84fad09
nghttpx: Fix bug that old config is used during reloading config
2017-02-16 22:46:22 +09:00
Tatsuhiro Tsujikawa
5311185333
nghttpx: Define the maximum number of digits in uint64_t
2017-01-22 22:33:52 +09:00
Tatsuhiro Tsujikawa
89ddc47616
nghttpx: More constexpr
2017-01-20 23:04:48 +09:00
Tatsuhiro Tsujikawa
3176e872b3
nghttpx: Efficient access.log writer
...
Write integer to log buffer directly to improve efficiency. Remove
unused function templates. Use [first, last) style arguments for
copy() function templates.
2017-01-20 22:42:41 +09:00
Tatsuhiro Tsujikawa
a2afd393ed
nghttpx: Remove field from LogSpec which can be got from Downstream
2017-01-11 22:30:12 +09:00
Tatsuhiro Tsujikawa
33aa327ef5
nghttpx: Fix access.log timestamp
...
access.log timestamp is now when request header fields are received,
rather than when access log is written.
2017-01-11 20:47:17 +09:00
Tatsuhiro Tsujikawa
4be5de1163
src: Move log related functions from util.cc to shrpx_log.cc
2017-01-09 19:34:40 +09:00
Tatsuhiro Tsujikawa
049e064e28
nghttpx: New error log format
...
To debug multi threaded configuration easier, we added current PID and
thread ID to error log. Previously, we didn't add date and time if
log level is NOTICE. In this change, we always write date and time
regardless of log level.
2016-12-20 23:13:19 +09:00
Tatsuhiro Tsujikawa
0cf6848646
clang-format-3.9
2016-10-15 18:36:04 +09:00
Tatsuhiro Tsujikawa
1a37044d3c
nghttpx: Use pre-allocated buffer for timestamp string
2016-10-11 22:32:26 +09:00
Tatsuhiro Tsujikawa
1b4ccd0d51
nghttpx: Don't call get_config() repeatedly
2016-10-08 11:37:18 +09:00
Tatsuhiro Tsujikawa
99a91e3172
nghttpx: Add BlockAllocator to Config object
2016-10-03 22:09:45 +09:00
Tatsuhiro Tsujikawa
ad3d43b8be
nghttpx: Add access log variable for backend host and port
...
Use $backend_host and $backend_port. $backend_host is backend host
name given in --backend option. It could be a path to UNIX domain
socket.
2016-08-05 00:04:47 +09:00
Tatsuhiro Tsujikawa
13596bde90
nghttpx: Refactor option handling using StringRef
2016-03-24 22:15:58 +09:00
Tatsuhiro Tsujikawa
2b707bff27
nghttpx: Use ImmutableString for log file
2016-02-14 22:17:10 +09:00
Tatsuhiro Tsujikawa
03f7f8cb9c
nghttpx: About implicit conversion from ImmutableString and std::string to StringRef
...
This is required to avoid creation of temporary ImmutableString
like so:
std::string x;
ImmutableString y = ...;
StringRef ref = !x.empty() ? x : y;
First, temporary ImmutableString is created with x since
ImmutableString has constructor to accept std::string. After
StringRef gets this, the temporary ImmutableString is destroyed, and
ref has dangling pointer.
2016-01-21 17:12:40 +09:00
Tatsuhiro Tsujikawa
35feae3b0c
nghttpx: Group up logging related options
2016-01-18 17:26:27 +09:00
Tatsuhiro Tsujikawa
7b2d4b6ae6
nghttpx: Optimize logging further
2016-01-17 15:04:09 +09:00
Tatsuhiro Tsujikawa
4f07db8bcb
src: Rename our new string classes
2016-01-17 11:33:45 +09:00
Tatsuhiro Tsujikawa
959d378f2a
nghttpx: Optimize accesslog write
2016-01-17 11:19:19 +09:00
Tatsuhiro Tsujikawa
919f08eb38
nghttpx: Extract request related fields to Request struct
...
Header field related functions are now gathered into FieldStore class.
This commit only handles request. Subsequent commit will do the same
thing for response.
2016-01-14 01:04:32 +09:00
Tatsuhiro Tsujikawa
c0858d8c1a
src: Minor optimization for appending single character
2015-11-28 00:03:16 +09:00
Tatsuhiro Tsujikawa
c6ef1c02b9
Switch to clang-format-3.6
2015-11-13 00:53:29 +09:00
Tatsuhiro Tsujikawa
d9f73c36c3
nghttpx: Log :authority as $http_host if available
2015-10-28 23:12:16 +09:00
Tatsuhiro Tsujikawa
907798707c
nghttpx: Fix compile error with Android NDK
2015-10-24 19:31:09 +09:00
Tatsuhiro Tsujikawa
54bf225692
clang-format-3.5
2015-10-15 21:42:11 +09:00
Tatsuhiro Tsujikawa
044385ab6e
Add neverbleed support
...
neverbleed is disabled by default. To enable it, use
--with-neverbleed configure option.
2015-09-26 19:01:31 +09:00
Tomasz Buchert
06a0f3480e
nghttpx: better handle /dev/stderr and /dev/stdout
2015-08-12 20:16:57 +02:00
Tatsuhiro Tsujikawa
2f7839fa42
Fix compiler warning
2015-06-30 21:33:54 +09:00
Tatsuhiro Tsujikawa
515c313073
nghttpx: Add $ssl_session_reused log variable
...
The syntax for this variable is the same as nginx: if SSL/TLS session
was reused, "r" is produced. Otherwise ".".
2015-06-28 22:15:04 +09:00