Skip to content

Update Actuator endpoints to use query parameters rather than path variables for regex-based matching #9796

@wilkinsona

Description

@wilkinsona

The env and metrics endpoints allow a subset of their output to be selected using a regular expression. It is currently passed in as a path variable and path variable's purpose is overloaded: it can either be the name of a single entry or a pattern that matches multiple entries. This overloading leads to problems with determining what should or should not be treated as a regular expression.

Another, perhaps more serious, problem is that Tomcat does not permit \ characters in the path of a URL by default. They can be permitted by setting a system property but that's not a good general-purpose solution. The restriction on the use of \ is problematic as it's used to escape characters that otherwise have a special meaning in a regular expression. For example, it's currently impossible to use a regular expression that matches all metrics with a . in the name as the . cannot be escaped.

In short, by moving to a query parameter for the pattern we'll see two benefits:

  • It will be clear that the input is intended to be a regular expression rather than the name of an entry
  • Regular expressions that require the escaping of special characters will work on Tomcat

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions