Skip to content

[BUG] Ruby Faraday client encodes arrays in parameters only for Rails (array_name[]) #9838

@dkliban

Description

@dkliban
Description

The following code produces query parameters that are intended for Rails app:

@manifest_api = PulpContainerClient::ContentManifestsApi.new
@manifest_api.list({media_type: ["application/vnd.docker.distribution.manifest.v1+json", "application/vnd.docker.distribution.manifest.v2+json"]})
"GET /pulp/api/v3/content/container/manifests/?media_type%5B%5D=application%2Fvnd.docker.distribution.manifest.v1%2Bjson&media_type%5B%5D=application%2Fvnd.docker.distribution.manifest.v2%2Bjson HTTP/1.1" 400

Django apps expect the URL to be encoded without the %5B%5D.

"GET /pulp/api/v3/content/container/manifests/?media_type=application%2Fvnd.docker.distribution.manifest.v1%2Bjson&media_type=application%2Fvnd.docker.distribution.manifest.v2%2Bjson HTTP/1.0" 200
openapi-generator version

4.3.1+

Suggest a fix

Faraday supports passing in params_encoder. The configuration object needs to accept a params_encoder.

lostisland/faraday#78 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions