protected function value()
	{
		if ($this->is_linear_whitespace())
		{
			$this->linear_whitespace();
		}
		else
		{
			switch ($this->data[$this->position])
			{
				case '"':
					// Workaround for ETags: we have to include the quotes as
					// part of the tag.
					if (strtolower($this->name) === 'etag')
					{
						$this->value .= '"';
						$this->position++;
						$this->state = 'value_char';
						break;
					}
					$this->position++;
					$this->state = 'quote';
					break;

				case "\x0A":
					$this->position++;
					$this->state = 'new_line';
					break;

				default:
					$this->state = 'value_char';
					break;
			}
		}
	}
protected function value()
	{
		if ($this->is_linear_whitespace())
		{
			$this->linear_whitespace();
		}
		else
		{
			switch ($this->data[$this->position])
			{
				case '"':
					// Workaround for ETags: we have to include the quotes as
					// part of the tag.
					if (strtolower($this->name) === 'etag')
					{
						$this->value .= '"';
						$this->position++;
						$this->state = 'value_char';
						break;
					}
					$this->position++;
					$this->state = 'quote';
					break;

				case "\x0A":
					$this->position++;
					$this->state = 'new_line';
					break;

				default:
					$this->state = 'value_char';
					break;
			}
		}
	}
protected function value ( ) { if ( $ this -> is_linear_whitespace ( ) ) { $ this -> linear_whitespace ( ) ; } else { switch ( $ this -> data [ $ this -> position ] ) { case '"' : // Workaround for ETags: we have to include the quotes as // part of the tag. if ( strtolower ( $ this -> name ) === 'etag' ) { $ this -> value .= '"' ; $ this -> position ++ ; $ this -> state = 'value_char' ; break ; } $ this -> position ++ ; $ this -> state = 'quote' ; break ; case "\x0A" : $ this -> position ++ ; $ this -> state = 'new_line' ; break ; default : $ this -> state = 'value_char' ; break ; } } }
See what state to move to while within non-quoted header values
See what state to move to while within non - quoted header values