/// <summary> /// Returns an instance of <see cref="HttpHeaderValueLexer"/> to parse the rest of the items on the header value. /// Parsing is based on this grammar: /// header = "header-name" ":" 1#element /// element = token [ BWS "=" BWS (token | quoted-string) ] /// *( OWS ";" [ OWS parameter ] ) /// parameter = token [ BWS "=" BWS (token | quoted-string) ] /// </summary> /// <returns>Returns an instance of <see cref="HttpHeaderValueLexer"/> to parse the rest of the items on the header value.</returns> internal override HttpHeaderValueLexer ReadNext() { DebugUtils.CheckNoExternalCallers(); if (this.EndOfHeaderValue()) { throw new ODataException(Strings.HttpHeaderValueLexer_EndOfFileAfterSeparator(this.httpHeaderName, this.httpHeaderValue, this.startIndexOfNextItem, this.originalText)); } // Token or quoted-string can come after '='. i.e. token ['=' (token | quoted-string)] if (this.Value == ValueSeparator) { return(this.ReadNextTokenOrQuotedString()); } // Only token can come after ',' and ';'. return(this.ReadNextToken()); }