Skip to content

add optional getAll method to propagation api #1458

@brettmc

Description

@brettmc

Implement open-telemetry/opentelemetry-specification#4295 which was added to spec 1.40.0:

Adds optional GetAll method to Getter in Propagation API, allowing for the retrieval of multiple values for the same key.

The spec further suggests that the implementation should be non-breaking if possible. Java adds an ExtendedPropagationGetterInterface which can optionally be implemented by propagators.

edit:
It looks like getAll is designed to handle repeated headers, and specifically calls out that baggage could appear multiple times in an HTTP request. However, RFC-2730 s3.3.2 says that:

A recipient MAY combine multiple header fields with the same field
name into one "field-name: field-value" pair, without changing the
semantics of the message, by appending each subsequent field value to
the combined field value in order, separated by a comma.

nyholm/psr7 certainly merges the headers per RFC: https://github.com/Nyholm/psr7/blob/1.8.2/tests/RequestTest.php#L186
Based on that, I think that there is nothing to do here since our implementation already meets the objectives of getAll.

Metadata

Metadata

Assignees

No one assigned

    Labels

    breakingA breaking changeenhancementNew feature or requesthelp wantedThis issue is looking for someone to work on it

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions