protected function get_api_url( $endpoint, $download_link = false ) {
		$type     = $this->return_repo_type();
		$segments = [
			'owner'  => $this->type->owner,
			'repo'   => $this->type->slug,
			'branch' => empty( $this->type->branch ) ? 'master' : $this->type->branch,
		];

		foreach ( $segments as $segment => $value ) {
			$endpoint = str_replace( ':' . $segment, sanitize_text_field( $value ), $endpoint );
		}

		$repo_api = $this->get_repo_api( $type['git'], $this->type );
		switch ( $type['git'] ) {
			case 'github':
				if ( ! $this->type->enterprise && $download_link ) {
					$type['base_download'] = $type['base_uri'];
					break;
				}
				if ( $this->type->enterprise_api ) {
					$type['base_download'] = $this->type->enterprise_api;
					$type['base_uri']      = null;
					if ( $download_link ) {
						break;
					}
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			case 'gitlab':
				if ( ! $this->type->enterprise && $download_link ) {
					break;
				}
				if ( $this->type->enterprise ) {
					$type['base_download'] = $this->type->enterprise;
					$type['base_uri']      = null;
					if ( $download_link ) {
						break;
					}
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			case 'bitbucket':
				$this->load_authentication_hooks();
				if ( $this->type->enterprise_api ) {
					if ( $download_link ) {
						$type['base_download'] = $type['base_uri'];
						break;
					}
					$endpoint = $repo_api->add_endpoints( $this, $endpoint );

					return $this->type->enterprise_api . $endpoint;
				}
				if ( $download_link && 'release_asset' === self::$method ) {
					$type['base_download'] = $type['base_uri'];
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			case 'gitea':
				if ( $download_link ) {
					$type['base_download'] = $type['base_uri'];
					break;
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			default:
				break;
		}

		$base = $download_link ? $type['base_download'] : $type['base_uri'];

		return $base . $endpoint;
	}
protected function get_api_url( $endpoint, $download_link = false ) {
		$type     = $this->return_repo_type();
		$segments = [
			'owner'  => $this->type->owner,
			'repo'   => $this->type->slug,
			'branch' => empty( $this->type->branch ) ? 'master' : $this->type->branch,
		];

		foreach ( $segments as $segment => $value ) {
			$endpoint = str_replace( ':' . $segment, sanitize_text_field( $value ), $endpoint );
		}

		$repo_api = $this->get_repo_api( $type['git'], $this->type );
		switch ( $type['git'] ) {
			case 'github':
				if ( ! $this->type->enterprise && $download_link ) {
					$type['base_download'] = $type['base_uri'];
					break;
				}
				if ( $this->type->enterprise_api ) {
					$type['base_download'] = $this->type->enterprise_api;
					$type['base_uri']      = null;
					if ( $download_link ) {
						break;
					}
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			case 'gitlab':
				if ( ! $this->type->enterprise && $download_link ) {
					break;
				}
				if ( $this->type->enterprise ) {
					$type['base_download'] = $this->type->enterprise;
					$type['base_uri']      = null;
					if ( $download_link ) {
						break;
					}
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			case 'bitbucket':
				$this->load_authentication_hooks();
				if ( $this->type->enterprise_api ) {
					if ( $download_link ) {
						$type['base_download'] = $type['base_uri'];
						break;
					}
					$endpoint = $repo_api->add_endpoints( $this, $endpoint );

					return $this->type->enterprise_api . $endpoint;
				}
				if ( $download_link && 'release_asset' === self::$method ) {
					$type['base_download'] = $type['base_uri'];
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			case 'gitea':
				if ( $download_link ) {
					$type['base_download'] = $type['base_uri'];
					break;
				}
				$endpoint = $repo_api->add_endpoints( $this, $endpoint );
				break;
			default:
				break;
		}

		$base = $download_link ? $type['base_download'] : $type['base_uri'];

		return $base . $endpoint;
	}
protected function get_api_url ( $ endpoint , $ download_link = false ) { $ type = $ this -> return_repo_type ( ) ; $ segments = [ 'owner' => $ this -> type -> owner , 'repo' => $ this -> type -> slug , 'branch' => empty ( $ this -> type -> branch ) ? 'master' : $ this -> type -> branch , ] ; foreach ( $ segments as $ segment => $ value ) { $ endpoint = str_replace ( ':' . $ segment , sanitize_text_field ( $ value ) , $ endpoint ) ; } $ repo_api = $ this -> get_repo_api ( $ type [ 'git' ] , $ this -> type ) ; switch ( $ type [ 'git' ] ) { case 'github' : if ( ! $ this -> type -> enterprise && $ download_link ) { $ type [ 'base_download' ] = $ type [ 'base_uri' ] ; break ; } if ( $ this -> type -> enterprise_api ) { $ type [ 'base_download' ] = $ this -> type -> enterprise_api ; $ type [ 'base_uri' ] = null ; if ( $ download_link ) { break ; } } $ endpoint = $ repo_api -> add_endpoints ( $ this , $ endpoint ) ; break ; case 'gitlab' : if ( ! $ this -> type -> enterprise && $ download_link ) { break ; } if ( $ this -> type -> enterprise ) { $ type [ 'base_download' ] = $ this -> type -> enterprise ; $ type [ 'base_uri' ] = null ; if ( $ download_link ) { break ; } } $ endpoint = $ repo_api -> add_endpoints ( $ this , $ endpoint ) ; break ; case 'bitbucket' : $ this -> load_authentication_hooks ( ) ; if ( $ this -> type -> enterprise_api ) { if ( $ download_link ) { $ type [ 'base_download' ] = $ type [ 'base_uri' ] ; break ; } $ endpoint = $ repo_api -> add_endpoints ( $ this , $ endpoint ) ; return $ this -> type -> enterprise_api . $ endpoint ; } if ( $ download_link && 'release_asset' === self :: $ method ) { $ type [ 'base_download' ] = $ type [ 'base_uri' ] ; } $ endpoint = $ repo_api -> add_endpoints ( $ this , $ endpoint ) ; break ; case 'gitea' : if ( $ download_link ) { $ type [ 'base_download' ] = $ type [ 'base_uri' ] ; break ; } $ endpoint = $ repo_api -> add_endpoints ( $ this , $ endpoint ) ; break ; default : break ; } $ base = $ download_link ? $ type [ 'base_download' ] : $ type [ 'base_uri' ] ; return $ base . $ endpoint ; }
Return API url.

@access protected

@param string      $endpoint      The endpoint to access.
@param bool|string $download_link The plugin or theme download link. Defaults to false.

@return string $endpoint
Return API url .