Makes NewNginxParser tolerant of log_format directives with newlines #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes slight modifications to the regex used in the
NewNginxParser
func, so that it correctly parsesnginx
log_format
directives that contain newlines after the name.This is best illustrated with an example.
This is perfectly valid
nginx
config (elided for brevity):Previously, the NewNginxParser regex would not properly match the
log_format main
line in such a case, since it expected to match one or more characters in a capture group before the end of the line. This would work if we "hacked" the line to include trailing whitespace, but that solution is error-prone and literally invisible to the naked eye. 😄This PR changes that, and makes one more trivial change to that particular regex: it uses the standard
%s
formatting verb when building the regex, rather than the%v
.The rest of the PR consists of comments and additional test cases.
Let me know if you have any concerns, or if you'd like further modifications to be made. Thanks for looking!