protected function fetchDescription() {
		$url = $this->uri;
		
		if($this->version)
			$url .= "/v".$this->version."/";
		
		$request = $this->getRequest('options', $url);
		
		if(!$this->version)
			$this->queryParams['describe'] = 'default';
		
		$this->authProvider->authenticate($request);
		
		$ret = $this->sendRequest($request)->body;

		if (!isset($ret->version)) {
			throw new Client\Exception\ProtocolError(
				"Incompatible protocol version: the client uses v".self::PROTOCOL_VERSION.
				" while the API server uses an unspecified version (pre 1.0)"
			);
		}

		$this->protocol_version = $ret->version;

		if ($ret->version == self::PROTOCOL_VERSION)
			return $ret->response;

		list($major1, $minor1) = explode('.', $ret->version);
		list($major2, $minor2) = explode('.', self::PROTOCOL_VERSION);

		if ($major1 != $major2) {
			throw new Client\Exception\ProtocolError(
				"Incompatible protocol version: the client uses v".self::PROTOCOL_VERSION.
				" while the API server uses v".$ret->version
			);
		}
		
		// $minor1 != $minor2 - imperfect compatibility
		
		return $ret->response;
	}
protected function fetchDescription() {
		$url = $this->uri;
		
		if($this->version)
			$url .= "/v".$this->version."/";
		
		$request = $this->getRequest('options', $url);
		
		if(!$this->version)
			$this->queryParams['describe'] = 'default';
		
		$this->authProvider->authenticate($request);
		
		$ret = $this->sendRequest($request)->body;

		if (!isset($ret->version)) {
			throw new Client\Exception\ProtocolError(
				"Incompatible protocol version: the client uses v".self::PROTOCOL_VERSION.
				" while the API server uses an unspecified version (pre 1.0)"
			);
		}

		$this->protocol_version = $ret->version;

		if ($ret->version == self::PROTOCOL_VERSION)
			return $ret->response;

		list($major1, $minor1) = explode('.', $ret->version);
		list($major2, $minor2) = explode('.', self::PROTOCOL_VERSION);

		if ($major1 != $major2) {
			throw new Client\Exception\ProtocolError(
				"Incompatible protocol version: the client uses v".self::PROTOCOL_VERSION.
				" while the API server uses v".$ret->version
			);
		}
		
		// $minor1 != $minor2 - imperfect compatibility
		
		return $ret->response;
	}
protected function fetchDescription ( ) { $ url = $ this -> uri ; if ( $ this -> version ) $ url .= "/v" . $ this -> version . "/" ; $ request = $ this -> getRequest ( 'options' , $ url ) ; if ( ! $ this -> version ) $ this -> queryParams [ 'describe' ] = 'default' ; $ this -> authProvider -> authenticate ( $ request ) ; $ ret = $ this -> sendRequest ( $ request ) -> body ; if ( ! isset ( $ ret -> version ) ) { throw new Client \ Exception \ ProtocolError ( "Incompatible protocol version: the client uses v" . self :: PROTOCOL_VERSION . " while the API server uses an unspecified version (pre 1.0)" ) ; } $ this -> protocol_version = $ ret -> version ; if ( $ ret -> version == self :: PROTOCOL_VERSION ) return $ ret -> response ; list ( $ major1 , $ minor1 ) = explode ( '.' , $ ret -> version ) ; list ( $ major2 , $ minor2 ) = explode ( '.' , self :: PROTOCOL_VERSION ) ; if ( $ major1 != $ major2 ) { throw new Client \ Exception \ ProtocolError ( "Incompatible protocol version: the client uses v" . self :: PROTOCOL_VERSION . " while the API server uses v" . $ ret -> version ) ; } // $minor1 != $minor2 - imperfect compatibility return $ ret -> response ; }
Fetch the description.
@return \stdClass
Fetch the description .