When building a LogEventFilter object that adds a date range query via the LogEventsFilter.withQuery() method, and then passing this object to the ManagementAPI getLogEvents() method the resulting q query string parameter is being double encoded. This is causing a 400 Bad Request error.
I would expect the query to only be URLEncoded once.
Reproduction
Here's the code snippet for setting the query parameter and making the getLogEvents() call:
LocalDate date = LocalDate.now().minus(Period.ofDays(30));
String query = "date:[" + date + " TO *]";
LogEventFilter filter = new LogEventFilter()
.withQuery(query)
.withPage(pageNumber, 10);
Request<LogEventsPage> request = managementApi.users().getLogEvents(userId, filter);
request.execute();
Environment
Version of this library used: Tested on 1.34.0 and 1.40.1
Version of the platform or framework used, if applicable: Java 1.8
Other relevant versions (language, server software, OS, browser): N/A
Other modules/plugins/libraries that might be involved: N/A
Description
When building a
LogEventFilter
object that adds adate range
query via theLogEventsFilter.withQuery()
method, and then passing this object to the ManagementAPIgetLogEvents()
method the resultingq
query string parameter is being double encoded. This is causing a400 Bad Request
error.I would expect the query to only be URLEncoded once.
Reproduction
Here's the code snippet for setting the query parameter and making the
getLogEvents()
call:Environment