Using explode=false in query string doesn't work properly
go version: 1.25.5
oapi-codegen: 2.5.1
Here is the sample repository: https://github.com/TelpeNight/open-api-test/blob/main/explode_test.go
I believe, that param serialization with explode=false doesn't follow openapi spec. Here is the example from https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#style-examples:
array -> ["blue", "black", "brown"]
style=form,explode=false -> ?color=blue,black,brown
But running the sample:
Sending: [blue black brown]
Query: search_terms=blue%2Cblack%2Cbrown
Received: &[blue black brown]
Commas are escaped, through it seems they shouldn't.
But this also leads to bad client <-> server communication when search_terms (in this case) contains comma:
Sending: [a b c,d]
Query: search_terms=a%2Cb%2Cc%2Cd
Received: &[a b c d]
Note, that we are sending 3 terms, but receiving 4.
I believe that the right query string should be search_terms=a,b,c%2Cd. And it should be split on the first step, and then unescaped.