Class Parser
java.lang.Object
io.opentelemetry.api.baggage.propagation.Parser
Implements single-pass Baggage parsing in accordance with https://w3c.github.io/baggage/ Key /
value are restricted in accordance with https://www.ietf.org/rfc/rfc2616.txt.
Note: following aspects are not specified in RFC: - some invalid elements (key or value) - parser will include valid ones, disregard invalid - empty "value" is regarded as invalid - meta - anything besides element terminator (comma).
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
private final Element
private String
private int
private boolean
private Parser.State
private final Element
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static String
decodeValue
(String value) (package private) void
parseInto
(BaggageBuilder baggageBuilder) private static void
putBaggage
(BaggageBuilder baggage, String key, String value, String metadataValue) private void
reset
(int index) Resets parsing state, preparing to start a new list element (see spec).private void
setState
(Parser.State state, int start) Switches parser state (element of a list member).
-
Field Details
-
baggageHeader
-
key
-
value
-
meta
-
state
-
metaStart
private int metaStart -
skipToNext
private boolean skipToNext
-
-
Constructor Details
-
Parser
Parser(String baggageHeader)
-
-
Method Details
-
parseInto
-
putBaggage
-
decodeValue
-
reset
private void reset(int index) Resets parsing state, preparing to start a new list element (see spec).- Parameters:
index
- index where parser should start new element scan
-
setState
Switches parser state (element of a list member).
-