Class Parser


  • class Parser
    extends java.lang.Object
    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 
      Modifier and Type Class Description
      private static class  Parser.State  
    • Constructor Summary

      Constructors 
      Constructor Description
      Parser​(java.lang.String baggageHeader)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.String decodeValue​(java.lang.String value)  
      (package private) void parseInto​(BaggageBuilder baggageBuilder)  
      private static void putBaggage​(BaggageBuilder baggage, java.lang.String key, java.lang.String value, java.lang.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).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • baggageHeader

        private final java.lang.String baggageHeader
      • value

        private final Element value
      • meta

        private java.lang.String meta
      • metaStart

        private int metaStart
      • skipToNext

        private boolean skipToNext
    • Constructor Detail

      • Parser

        Parser​(java.lang.String baggageHeader)
    • Method Detail

      • putBaggage

        private static void putBaggage​(BaggageBuilder baggage,
                                       @Nullable
                                       java.lang.String key,
                                       @Nullable
                                       java.lang.String value,
                                       @Nullable
                                       java.lang.String metadataValue)
      • decodeValue

        @Nullable
        private static java.lang.String decodeValue​(@Nullable
                                                    java.lang.String value)
      • 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

        private void setState​(Parser.State state,
                              int start)
        Switches parser state (element of a list member).