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 Stringprivate final Elementprivate Stringprivate intprivate booleanprivate Parser.Stateprivate final Element -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static StringdecodeValue(String value) (package private) voidparseInto(BaggageBuilder baggageBuilder) private static voidputBaggage(BaggageBuilder baggage, String key, String value, String metadataValue) private voidreset(int index) Resets parsing state, preparing to start a new list element (see spec).private voidsetState(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).
-