Skip to content

Conversation

@frittentheke
Copy link

@frittentheke frittentheke commented Jan 7, 2026

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Fixes #40925

@repokitteh-read-only
Copy link

Hi @frittentheke, welcome and thank you for your contribution.

We will try to review your Pull Request as quickly as possible.

In the meantime, please take a look at the contribution guidelines if you have not done so already.

🐱

Caused by: #42891 was opened by frittentheke.

see: more, trace.

@frittentheke frittentheke force-pushed the allqueryparams_40925 branch 9 times, most recently from b7433af to b8e7b82 Compare January 9, 2026 15:04
}

const auto query_params =
Http::Utility::QueryParamsMulti::parseAndDecodeQueryString(request_headers->getPathValue());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you need to parse query parameters here? If you look into this method it's just searching for the first ? and returns everything after it. That's cheap, but doesn't normalize it in any way.

Copy link
Author

@frittentheke frittentheke Jan 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kyessenov So you mean I should just find the ? and return everything until the end of the url / string then?
My idea was to reuse as much of the library functions as possible, to potentially allow decoding or normalizing of parameters later. Kinda like %PATH(X:Y):Z% does allow with X=WQ and X=NQ.

But just having the url params as string is already a great improvement to me and my use case.
I can always normalize or url_decode that string later, outside of Envoy and adding an X parameter with options on what and how to produce the query params can always happen later.

Copy link
Contributor

@kyessenov kyessenov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of comments...

@kyessenov kyessenov self-assigned this Jan 10, 2026
@frittentheke frittentheke force-pushed the allqueryparams_40925 branch 6 times, most recently from 7008408 to 51087aa Compare January 14, 2026 14:54
return absl::nullopt;
}

bool decode_bool = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move this logic into the constructor? It is better to parse the config at config time, than at runtime. E.g. save decode_bool_ as a bool field rather than recompute it from decoding_.

Copy link
Author

@frittentheke frittentheke Jan 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will align this with how the PathFormatter does things (create method). I hope less variants are a good thing.

Copy link
Contributor

@kyessenov kyessenov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address comments, but mostly LG.

@kyessenov
Copy link
Contributor

CI is still failing
/wait

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow to log all query parameters at once instead of just select single parameters

2 participants