Skip to content

Preserve string types in Prebid bidder parameter overrides #932

Description

@ChristianPavilonis

Problem

IntegrationSettings::normalize_env_value recursively parses every string as JSON. Numeric-looking string values inside Prebid bidder parameter overrides are therefore converted to JSON numbers during app-config loading and serialization.

For example, a TOML value such as:

[integrations.prebid.bid_param_overrides.example]
publisherId = "12345"

can become:

{"publisherId": 12345}

Prebid Server adapters whose schemas require string identifiers then reject the OpenRTB request.

Expected behavior

Bidder parameter override payloads are opaque JSON supplied by the operator. Their nested scalar types should survive TOML loading, config-store serialization, and runtime JSON loading unchanged. JSON environment overrides for the complete override container should still be decoded once.

Acceptance criteria

  • Preserve nested scalar types under bid_param_overrides, bid_param_zone_overrides, and bid_param_override_rules.
  • Continue accepting JSON-encoded environment overrides for those fields.
  • Add coverage for numeric-looking strings across the TOML → JSON → runtime round trip.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrustPull requests that update rust code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions