This commit adds InvalidEndpointRequestException as a technology
agnostic way to signal that an endpoint request is invalid. When such
exception is thrown, the web layer translates that to a 400.
Rather than overriding the reason, this commit makes sure to reuse the
error infrastructure.
Closes gh-10618
Rename `spring-boot-configuration-analyzer` to
`spring-boot-deprecated-properties-support`.
Also renamed classes to match and polished some of the code.
See gh-11301
This commit makes sure that `CharacterEncodingFilter` is ordered with
the `Ordered.HIGHEST_PRECEDENCE` and that other filters, potentially
reading the request body, are ordered after.
In this particular case, both `WebMvcMetricsFilter` and
`ErrorPageFilter` are now ordered at `Ordered.HIGHEST_PRECEDENCE + 1` to
avoid cases where the request body is read before the encoding
configuration is taken into account.
Closes gh-11607
This commit adds a new `spring-boot-configuration-analyzer` module that
can be added to any app to analyze its environment on startup.
Each configuration key that has a matching replacement is temporarily
transitioned to the new name with a `WARN` report that lists all of
them.
If the project defines configuration keys that don't have a replacement,
an `ERROR` report lists them with more information if it is available.
Closes gh-11301
As explained in the "Split package compatibility" section of
https://blog.jetbrains.com/kotlin/2017/09/kotlin-1-2-beta-is-out/
kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8 are the recommended
dependencies to use with Kotlin 1.2 for Java 9+ compatibility.
Closes gh-11716