original_string: protected function http_version()
  	{
  		if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
  		{
  			$len = strspn($this->data, '0123456789.', 5);
  			$this->http_version = substr($this->data, 5, $len);
  			$this->position += 5 + $len;
  			if (substr_count($this->http_version, '.') <= 1)
  			{
  				$this->http_version = (float) $this->http_version;
  				$this->position += strspn($this->data, "\x09\x20", $this->position);
  				$this->state = 'status';
  			}
  			else
  			{
  				$this->state = false;
  			}
  		}
  		else
  		{
  			$this->state = false;
  		}
  	}
code: protected function http_version()
  	{
  		if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
  		{
  			$len = strspn($this->data, '0123456789.', 5);
  			$this->http_version = substr($this->data, 5, $len);
  			$this->position += 5 + $len;
  			if (substr_count($this->http_version, '.') <= 1)
  			{
  				$this->http_version = (float) $this->http_version;
  				$this->position += strspn($this->data, "\x09\x20", $this->position);
  				$this->state = 'status';
  			}
  			else
  			{
  				$this->state = false;
  			}
  		}
  		else
  		{
  			$this->state = false;
  		}
  	}
code_tokens: protected function http_version ( ) { if ( strpos ( $ this -> data , "\x0A" ) !== false && strtoupper ( substr ( $ this -> data , 0 , 5 ) ) === 'HTTP/' ) { $ len = strspn ( $ this -> data , '0123456789.' , 5 ) ; $ this -> http_version = substr ( $ this -> data , 5 , $ len ) ; $ this -> position += 5 + $ len ; if ( substr_count ( $ this -> http_version , '.' ) <= 1 ) { $ this -> http_version = ( float ) $ this -> http_version ; $ this -> position += strspn ( $ this -> data , "\x09\x20" , $ this -> position ) ; $ this -> state = 'status' ; } else { $ this -> state = false ; } } else { $ this -> state = false ; } }
docstring: Parse the HTTP version
docstring_tokens: Parse the HTTP version