diff --git a/CHANGELOG.md b/CHANGELOG.md index 109cb81..18ed384 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ features and reduced the number of exceptions down to 15 exceptions. ### Fixed - Fixed MITM attack vector in `\ncc\Classes > HttpClient > prepareCurl()` - Fixed all @throw tags in the project to use the correct exception class + - Fixed hash comparisons to use `hash_equals` implementations to combat against Timing Attacks ### Changed - Corrected code-smell and code style issues in `\ncc\Classes > HttpClient` @@ -177,6 +178,14 @@ features and reduced the number of exceptions down to 15 exceptions. and implemented `BytecodeObjectInterface` - Updated class `\ncc\Objects\SymlinkDictionary > SymlinkEntry` to use method calls rather than direct property access - Updated class `\ncc\Objects\Vault\Password > AccessToken` to use method calls rather than direct property access + - Updated class `\ncc\Objects > CliHelpSection` to use method calls rather than direct property access + - Updated class `\ncc\Objects > ComposerJson` to use method calls rather than direct property access + - Updated class `\ncc\Objects > ComposerLock` to use method calls rather than direct property access + - Updated class `\ncc\Objects > DefinedRemoteSource` to use method calls rather than direct property access + - Updated class `\ncc\Objects > HttpRequest` to use method calls rather than direct property access and implemented + `SerializableObjectInterface` + - Updated class `\ncc\Objects > HttpResponse` to use method calls rather than direct property access and implemented + `SerializableObjectInterface` ### Removed - Removed `FileNotFoundException` and `DirectoryNotFoundException` from `\ncc\Exceptions` diff --git a/src/installer/installer b/src/installer/installer index a6c0be2..bd1ad01 100644 --- a/src/installer/installer +++ b/src/installer/installer @@ -866,7 +866,7 @@ try { $definedEntry = DefinedRemoteSource::fromArray(Functions::loadJsonFile($repo_path, Functions::FORCE_ARRAY)); - if(!$source_manager->getRemoteSource($definedEntry->name)) + if(!$source_manager->getRemoteSource($definedEntry->getName())) $source_manager->addRemoteSource($definedEntry); } catch(Exception $e) diff --git a/src/ncc/CLI/Management/SourcesMenu.php b/src/ncc/CLI/Management/SourcesMenu.php index 00e0316..0b20142 100644 --- a/src/ncc/CLI/Management/SourcesMenu.php +++ b/src/ncc/CLI/Management/SourcesMenu.php @@ -105,7 +105,7 @@ namespace ncc\CLI\Management; Console::out('Remote sources:', 1); foreach($sources as $source) { - Console::out(' - ' . $source->name . ' (' . $source->host . ')', 1); + Console::out(' - ' . $source->getName() . ' (' . $source->getHost() . ')', 1); } Console::out('Total: ' . count($sources), 1); @@ -153,10 +153,10 @@ namespace ncc\CLI\Management; $source_manager = new RemoteSourcesManager(); $source = new DefinedRemoteSource(); - $source->name = $name; - $source->type = $type; - $source->host = $host; - $source->ssl = $ssl; + $source->setName($name); + $source->setType($type); + $source->setHost($host); + $source->setSsl($ssl); if(!$source_manager->addRemoteSource($source)) { diff --git a/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php b/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php index 531c796..e5be469 100644 --- a/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php +++ b/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php @@ -212,15 +212,15 @@ $filesystem->mkdir($base_dir . DIRECTORY_SEPARATOR . 'build'); $version_map = self::getVersionMap($composer_lock); - foreach ($composer_lock->Packages as $package) + foreach ($composer_lock->getPackages() as $package) { - $package_path = $base_dir . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . $package->name; + $package_path = $base_dir . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . $package->getName(); // Load the composer lock file - $composer_package = $composer_lock->getPackage($package->name); + $composer_package = $composer_lock->getPackage($package->getName()); if ($composer_package === null) { - throw new PackageException(sprintf('Package "%s" not found in composer lock file', $package->name)); + throw new PackageException(sprintf('Package "%s" not found in composer lock file', $package->getName())); } // Convert it to an NCC project configuration @@ -250,9 +250,9 @@ private static function getVersionMap(ComposerLock $composerLock): array { $version_map = []; - foreach($composerLock->Packages as $package) + foreach($composerLock->getPackges() as $package) { - $version_map[$package->name] = $package->version; + $version_map[$package->getName()] = $package->getVersion(); } return $version_map; } @@ -310,20 +310,12 @@ { // Generate a new project configuration object $project_configuration = new ProjectConfiguration(); + $project_configuration->assembly->setName($composer_package->getName()); + $project_configuration->assembly->setDescription($composer_package->getDescription()); - if (isset($composer_package->name)) + if(isset($version_map[$composer_package->getName()])) { - $project_configuration->assembly->setName($composer_package->name); - } - - if (isset($composer_package->description)) - { - $project_configuration->assembly->setDescription($composer_package->description); - } - - if(isset($version_map[$composer_package->name])) - { - $project_configuration->assembly->setVersion(self::versionMap($composer_package->name, $version_map)); + $project_configuration->assembly->setVersion(self::versionMap($composer_package->getName(), $version_map)); } if($project_configuration->assembly->getVersion() === null || $project_configuration->assembly->getVersion() === '') @@ -333,17 +325,17 @@ $project_configuration->assembly->setUuid(Uuid::v1()->toRfc4122()); - $project_configuration->assembly->setPackage(self::toPackageName($composer_package->name)); + $project_configuration->assembly->setPackage(self::toPackageName($composer_package->getName())); // Add the update source $project_configuration->project->setUpdateSource(new ProjectConfiguration\UpdateSource()); - $project_configuration->project->getUpdateSource()?->setSource(sprintf('%s@composer', str_ireplace('\\', '/', $composer_package->name))); + $project_configuration->project->getUpdateSource()?->setSource(sprintf('%s@composer', str_ireplace('\\', '/', $composer_package->getName()))); $project_configuration->project->getUpdateSource()?->setRepository(null); // Process the dependencies - if($composer_package->require !== null && count($composer_package->require) > 0) + if($composer_package->getRequire() !== null && count($composer_package->getRequire()) > 0) { - foreach ($composer_package->require as $item) + foreach ($composer_package->getRequire() as $item) { // Check if the dependency is already in the project configuration $package_name = self::toPackageName($item->getPackageName()); @@ -674,7 +666,7 @@ $filesystem = new Filesystem(); // Process the source files - if ($composer_package->autoload !== null) + if ($composer_package->getAutoload() !== null) { $source_directory = $package_path . DIRECTORY_SEPARATOR . '.src'; @@ -688,10 +680,10 @@ $static_files = []; // Extract all the source directories - if ($composer_package->autoload->getPsr4() !== null && count($composer_package->autoload->getPsr4()) > 0) + if ($composer_package->getAutoloadDev()->getPsr4() !== null && count($composer_package->getAutoload()->getPsr4()) > 0) { Console::outVerbose('Extracting PSR-4 source directories'); - foreach ($composer_package->autoload->getPsr4() as $namespace_pointer) + foreach ($composer_package->getAutoload()->getPsr4() as $namespace_pointer) { if ($namespace_pointer->getPath() !== null && !in_array($namespace_pointer->getPath(), $source_directories, true)) { @@ -700,10 +692,10 @@ } } - if ($composer_package->autoload->getPsr0() !== null && count($composer_package->autoload->getPsr0()) > 0) + if ($composer_package->getAutoload()->getPsr0() !== null && count($composer_package->getAutoload()->getPsr0()) > 0) { Console::outVerbose('Extracting PSR-0 source directories'); - foreach ($composer_package->autoload->getPsr0() as $namespace_pointer) + foreach ($composer_package->getAutoload()->getPsr0() as $namespace_pointer) { if ($namespace_pointer->getPath() !== null && !in_array($namespace_pointer->getPath(), $source_directories, true)) { @@ -712,10 +704,10 @@ } } - if ($composer_package->autoload->getFiles() !== null && count($composer_package->autoload->getFiles()) > 0) + if ($composer_package->getAutoload()->getFiles() !== null && count($composer_package->getAutoload()->getFiles()) > 0) { Console::outVerbose('Extracting static files'); - foreach ($composer_package->autoload->getFiles() as $file) + foreach ($composer_package->getAutoload()->getFiles() as $file) { $static_files[] = $package_path . DIRECTORY_SEPARATOR . $file; } @@ -751,7 +743,7 @@ $parsed_path = str_ireplace($package_path . DIRECTORY_SEPARATOR, '', $item->getPathName()); - Console::outDebug(sprintf('copying file %s for package %s', $parsed_path, $composer_package->name)); + Console::outDebug(sprintf('copying file %s for package %s', $parsed_path, $composer_package->getName())); $filesystem->copy($item->getPathName(), $source_directory . DIRECTORY_SEPARATOR . $parsed_path); } } @@ -763,7 +755,7 @@ foreach ($static_files as $file) { $parsed_path = str_ireplace($package_path . DIRECTORY_SEPARATOR, '', $file); - Console::outDebug(sprintf('copying file %s for package %s', $parsed_path, $composer_package->name)); + Console::outDebug(sprintf('copying file %s for package %s', $parsed_path, $composer_package->getName())); $filesystem->copy($file, $source_directory . DIRECTORY_SEPARATOR . $parsed_path); unset($file); } @@ -789,16 +781,16 @@ // Check configuration if composer.extension.display_licenses is set if($filesystem->exists($package_path . DIRECTORY_SEPARATOR . $license_file) && Functions::cbool(Functions::getConfigurationProperty('composer.extension.display_licenses'))) { - Console::out(sprintf('License for package %s:', $composer_package->name)); + Console::out(sprintf('License for package %s:', $composer_package->getName())); Console::out(IO::fread($package_path . DIRECTORY_SEPARATOR . $license_file)); break; } } - if(Functions::cbool(!is_null($composer_package->authors) && count($composer_package->authors) > 0 && Functions::getConfigurationProperty('composer.extension.display_authors'))) + if(Functions::cbool(!is_null($composer_package->getAuthors()) && count($composer_package->getAuthors()) > 0 && Functions::getConfigurationProperty('composer.extension.display_authors'))) { - Console::out(sprintf('Authors for package %s:', $composer_package->name)); - foreach($composer_package->authors as $author) + Console::out(sprintf('Authors for package %s:', $composer_package->getName())); + foreach($composer_package->getAuthors() as $author) { Console::out(sprintf(' - %s', $author->getName())); diff --git a/src/ncc/Classes/GithubExtension/GithubService.php b/src/ncc/Classes/GithubExtension/GithubService.php index a935f56..879d8e0 100644 --- a/src/ncc/Classes/GithubExtension/GithubService.php +++ b/src/ncc/Classes/GithubExtension/GithubService.php @@ -55,11 +55,11 @@ public static function getGitRepository(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry = null): RepositoryQueryResults { $httpRequest = new HttpRequest(); - $protocol = ($definedRemoteSource->ssl ? "https" : "http"); + $protocol = ($definedRemoteSource->isSsl() ? "https" : "http"); $owner_f = str_ireplace("/", "%2F", $packageInput->vendor); $owner_f = str_ireplace(".", "%2F", $owner_f); $repository = urlencode($packageInput->package); - $httpRequest->Url = $protocol . '://' . $definedRemoteSource->host . "/repos/$owner_f/$repository"; + $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/repos/$owner_f/$repository"); $response_decoded = self::getJsonResponse($httpRequest, $entry); $query = new RepositoryQueryResults(); @@ -119,11 +119,11 @@ private static function getReleases(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry = null): array { $httpRequest = new HttpRequest(); - $protocol = ($definedRemoteSource->ssl ? "https" : "http"); + $protocol = ($definedRemoteSource->isSsl() ? "https" : "http"); $owner_f = str_ireplace("/", "%2F", $packageInput->vendor); $owner_f = str_ireplace(".", "%2F", $owner_f); $repository = urlencode($packageInput->package); - $httpRequest->Url = $protocol . '://' . $definedRemoteSource->host . "/repos/$owner_f/$repository/releases"; + $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/repos/$owner_f/$repository/releases"); $response_decoded = self::getJsonResponse($httpRequest, $entry); if(count($response_decoded) === 0) @@ -190,19 +190,19 @@ */ private static function getJsonResponse(HttpRequest $httpRequest, ?Entry $entry): array { - $httpRequest->Type = HttpRequestType::GET; + $httpRequest->setType(HttpRequestType::GET); $httpRequest = Functions::prepareGitServiceRequest($httpRequest, $entry, false); - $httpRequest->Headers[] = 'X-GitHub-Api-Version: 2022-11-28'; - $httpRequest->Headers[] = 'Accept: application/vnd.github+json'; + $httpRequest->addHeader('X-GitHub-Api-Version: 2022-11-28'); + $httpRequest->addHeader('Accept: application/vnd.github+json'); $response = HttpClient::request($httpRequest, true); - if ($response->StatusCode !== 200) + if ($response->getStatusCode() !== 200) { - throw new GitException(sprintf('Github returned an error (%s): %s', $response->StatusCode, $response->Body)); + throw new GitException(sprintf('Github returned an error (%s): %s', $response->getStatusCode(), $response->getBody())); } - return Functions::loadJson($response->Body, Functions::FORCE_ARRAY); + return Functions::loadJson($response->getBody(), Functions::FORCE_ARRAY); } /** @@ -221,7 +221,7 @@ if (count($releases) === 0) { - throw new GitException(sprintf('No releases found for %s/%s on %s.', $packageInput->vendor, $packageInput->package, $definedRemoteSource->host)); + throw new GitException(sprintf('No releases found for %s/%s on %s.', $packageInput->vendor, $packageInput->package, $definedRemoteSource->getHost())); } if ($packageInput->version === Versions::LATEST) @@ -265,7 +265,7 @@ if ($selected_version === null) { - throw new GitException(sprintf('Version %s not found for %s/%s on %s.', $packageInput->version, $packageInput->vendor, $packageInput->package, $definedRemoteSource->host)); + throw new GitException(sprintf('Version %s not found for %s/%s on %s.', $packageInput->version, $packageInput->vendor, $packageInput->package, $definedRemoteSource->getHost())); } } else @@ -275,7 +275,7 @@ if (!isset($releases[$selected_version])) { - throw new GitException(sprintf('Version %s not found for %s/%s on %s.', $packageInput->version, $packageInput->vendor, $packageInput->package, $definedRemoteSource->host)); + throw new GitException(sprintf('Version %s not found for %s/%s on %s.', $packageInput->version, $packageInput->vendor, $packageInput->package, $definedRemoteSource->getHost())); } return $releases[$selected_version]; diff --git a/src/ncc/Classes/GitlabExtension/GitlabService.php b/src/ncc/Classes/GitlabExtension/GitlabService.php index 4166c02..ccbc089 100644 --- a/src/ncc/Classes/GitlabExtension/GitlabService.php +++ b/src/ncc/Classes/GitlabExtension/GitlabService.php @@ -56,22 +56,22 @@ public static function getGitRepository(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry=null): RepositoryQueryResults { $httpRequest = new HttpRequest(); - $protocol = ($definedRemoteSource->ssl ? "https" : "http"); + $protocol = ($definedRemoteSource->isSsl() ? "https" : "http"); $owner_f = str_ireplace("/", "%2F", $packageInput->vendor); $owner_f = str_ireplace(".", "%2F", $owner_f); $project_f = str_ireplace("/", "%2F", $packageInput->package); $project_f = str_ireplace(".", "%2F", $project_f); - $httpRequest->Url = $protocol . '://' . $definedRemoteSource->host . "/api/v4/projects/$owner_f%2F$project_f"; + $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/api/v4/projects/$owner_f%2F$project_f"); $httpRequest = Functions::prepareGitServiceRequest($httpRequest, $entry); $response = HttpClient::request($httpRequest, true); - if($response->StatusCode !== 200) + if($response->getStatusCode() !== 200) { - throw new GitException(sprintf('Failed to fetch releases for the given repository. Status code: %s', $response->StatusCode)); + throw new GitException(sprintf('Failed to fetch releases for the given repository. Status code: %s', $response->getStatusCode())); } - $response_decoded = Functions::loadJson($response->Body, Functions::FORCE_ARRAY); + $response_decoded = Functions::loadJson($response->getBody(), Functions::FORCE_ARRAY); $query = new RepositoryQueryResults(); $query->Files->GitSshUrl = ($response_decoded['ssh_url_to_repo'] ?? null); @@ -171,7 +171,7 @@ */ public static function getNccPackage(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry = null): RepositoryQueryResults { - throw new NotSupportedException(sprintf('The given repository source "%s" does not support ncc packages.', $definedRemoteSource->host)); + throw new NotSupportedException(sprintf('The given repository source "%s" does not support ncc packages.', $definedRemoteSource->getHost())); } /** @@ -190,23 +190,23 @@ private static function getReleases(string $owner, string $repository, DefinedRemoteSource $definedRemoteSource, ?Entry $entry): array { $httpRequest = new HttpRequest(); - $protocol = ($definedRemoteSource->ssl ? "https" : "http"); + $protocol = ($definedRemoteSource->isSsl() ? "https" : "http"); $owner_f = str_ireplace("/", "%2F", $owner); $owner_f = str_ireplace(".", "%2F", $owner_f); $repository_f = str_ireplace("/", "%2F", $repository); $repository_f = str_ireplace(".", "%2F", $repository_f); - $httpRequest->Url = $protocol . '://' . $definedRemoteSource->host . "/api/v4/projects/$owner_f%2F$repository_f/releases"; + $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/api/v4/projects/$owner_f%2F$repository_f/releases"); $httpRequest = Functions::prepareGitServiceRequest($httpRequest, $entry); $response = HttpClient::request($httpRequest, true); - if($response->StatusCode !== 200) + if($response->getStatusCode() !== 200) { - throw new GitException(sprintf('Failed to fetch releases for repository %s/%s. Status code: %s', $owner, $repository, $response->StatusCode)); + throw new GitException(sprintf('Failed to fetch releases for repository %s/%s. Status code: %s', $owner, $repository, $response->getStatusCode())); } - $response_decoded = Functions::loadJson($response->Body, Functions::FORCE_ARRAY); + $response_decoded = Functions::loadJson($response->getBody(), Functions::FORCE_ARRAY); if(count($response_decoded) === 0) { diff --git a/src/ncc/Classes/HttpClient.php b/src/ncc/Classes/HttpClient.php index 9f33de1..faf146e 100644 --- a/src/ncc/Classes/HttpClient.php +++ b/src/ncc/Classes/HttpClient.php @@ -43,15 +43,15 @@ namespace ncc\Classes; */ private static function prepareCurl(HttpRequest $request): CurlHandle { - $curl = curl_init($request->Url); + $curl = curl_init($request->geturl()); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_MAXREDIRS, 5); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($curl, CURLOPT_TIMEOUT, 10); - curl_setopt($curl, CURLOPT_HTTPHEADER, $request->Headers); - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $request->Type); + curl_setopt($curl, CURLOPT_HTTPHEADER, $request->getHeaders()); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $request->getType()); curl_setopt($curl, CURLOPT_NOPROGRESS, false); curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, static function($curl, $downloadSize, $downloaded) @@ -73,7 +73,7 @@ namespace ncc\Classes; } }); - switch($request->Type) + switch($request->getType()) { case HttpRequestType::GET: curl_setopt($curl, CURLOPT_HTTPGET, true); @@ -81,17 +81,17 @@ namespace ncc\Classes; case HttpRequestType::POST: curl_setopt($curl, CURLOPT_POST, true); - if($request->Body !== null) + if($request->getBody() !== null) { - curl_setopt($curl, CURLOPT_POSTFIELDS, $request->Body); + curl_setopt($curl, CURLOPT_POSTFIELDS, $request->getBody()); } break; case HttpRequestType::PUT: curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); - if($request->Body !== null) + if($request->getBody() !== null) { - curl_setopt($curl, CURLOPT_POSTFIELDS, $request->Body); + curl_setopt($curl, CURLOPT_POSTFIELDS, $request->getBody()); } break; @@ -100,16 +100,16 @@ namespace ncc\Classes; break; } - if (is_array($request->Authentication)) + if (is_array($request->getAuthentication())) { - curl_setopt($curl, CURLOPT_USERPWD, $request->Authentication[0] . ':' . $request->Authentication[1]); + curl_setopt($curl, CURLOPT_USERPWD, $request->getAuthentication()[0] . ':' . $request->getAuthentication()[1]); } - else if (is_string($request->Authentication)) + else if (is_string($request->getAuthentication())) { - curl_setopt($curl, CURLOPT_USERPWD, $request->Authentication); + curl_setopt($curl, CURLOPT_USERPWD, $request->getAuthentication()); } - foreach ($request->Options as $option => $value) + foreach ($request->getOptions() as $option => $value) { curl_setopt($curl, $option, $value); } @@ -140,16 +140,16 @@ namespace ncc\Classes; $curl = self::prepareCurl($httpRequest); - Console::outDebug(sprintf(' => %s request %s', $httpRequest->Type, $httpRequest->Url)); + Console::outDebug(sprintf(' => %s request %s', $httpRequest->getType(), $httpRequest->getUrl())); - if($httpRequest->Headers !== null && count($httpRequest->Headers) > 0) + if(count($httpRequest->getHeaders()) > 0) { - Console::outDebug(sprintf(' => headers: %s', implode(', ', $httpRequest->Headers))); + Console::outDebug(sprintf(' => headers: %s', implode(', ', $httpRequest->getHeaders()))); } - if($httpRequest->Body !== null) + if($httpRequest->getBody() !== null) { - Console::outDebug(sprintf(' => body: %s', $httpRequest->Body)); + Console::outDebug(sprintf(' => body: %s', $httpRequest->getBody())); } $response = curl_exec($curl); @@ -166,13 +166,13 @@ namespace ncc\Classes; $body = substr($response, $headerSize); $httpResponse = new HttpResponse(); - $httpResponse->StatusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); - $httpResponse->Headers = self::parseHeaders($headers); - $httpResponse->Body = $body; + $httpResponse->setStatusCode(curl_getinfo($curl, CURLINFO_HTTP_CODE)); + $httpResponse->setHeaders(self::parseHeaders($headers)); + $httpResponse->setBody($body); - Console::outDebug(sprintf(' <= %s response', $httpResponse->StatusCode)); - Console::outDebug(sprintf(' <= headers: %s', (implode(', ', $httpResponse->Headers)))); - Console::outDebug(sprintf(' <= body: %s', $httpResponse->Body)); + Console::outDebug(sprintf(' <= %s response', $httpResponse->getStatusCode())); + Console::outDebug(sprintf(' <= headers: %s', (implode(', ', $httpResponse->getHeaders())))); + Console::outDebug(sprintf(' <= body: %s', $httpResponse->getBody())); curl_close($curl); diff --git a/src/ncc/Managers/PackageManager.php b/src/ncc/Managers/PackageManager.php index 853f968..14388a2 100644 --- a/src/ncc/Managers/PackageManager.php +++ b/src/ncc/Managers/PackageManager.php @@ -423,10 +423,10 @@ Console::outVerbose('Adding remote source ' . $package->header->getUpdateSource()->getRepository()->getName()); $defined_remote_source = new DefinedRemoteSource(); - $defined_remote_source->name = $package->header->getUpdateSource()?->getRepository()->getName(); - $defined_remote_source->host = $package->header->getUpdateSource()?->getRepository()->getHost(); - $defined_remote_source->type = $package->header->getUpdateSource()?->getRepository()->getType(); - $defined_remote_source->ssl = $package->header->getUpdateSource()?->getRepository()->isSsl(); + $defined_remote_source->setName($package->header->getUpdateSource()?->getRepository()?->getName()); + $defined_remote_source->setHost($package->header->getUpdateSource()?->getRepository()?->getHost()); + $defined_remote_source->setType($package->header->getUpdateSource()?->getRepository()?->getType()); + $defined_remote_source->setSsl($package->header->getUpdateSource()?->getRepository()?->isSsl()); $sources_manager->addRemoteSource($defined_remote_source); } diff --git a/src/ncc/Managers/RemoteSourcesManager.php b/src/ncc/Managers/RemoteSourcesManager.php index 39703f0..6843577 100644 --- a/src/ncc/Managers/RemoteSourcesManager.php +++ b/src/ncc/Managers/RemoteSourcesManager.php @@ -109,8 +109,10 @@ { foreach($this->Sources as $existingSource) { - if($existingSource->name === $source->name) + if($existingSource->getName() === $source->getName()) + { return false; + } } $this->Sources[] = $source; @@ -127,7 +129,7 @@ { foreach($this->Sources as $source) { - if($source->name === $name) + if($source->getName() === $name) { return $source; } @@ -146,7 +148,7 @@ { foreach($this->Sources as $index => $source) { - if($source->name === $name) + if($source->getName() === $name) { unset($this->Sources[$index]); return true; diff --git a/src/ncc/Objects/CliHelpSection.php b/src/ncc/Objects/CliHelpSection.php index bafadcb..710beef 100644 --- a/src/ncc/Objects/CliHelpSection.php +++ b/src/ncc/Objects/CliHelpSection.php @@ -1,24 +1,24 @@ Parameters = $parameters; - $this->Description = $description; - $this->Default = $default; + $this->parameters = $parameters; + $this->description = $description; + $this->default = $default; + } + + /** + * @return array|null + */ + public function getParameters(): ?array + { + return $this->parameters; + } + + /** + * @param array|null $parameters + */ + public function setParameters(?array $parameters): void + { + $this->parameters = $parameters; + } + + /** + * @return string|null + */ + public function getDescription(): ?string + { + return $this->description; + } + + /** + * @param string|null $description + */ + public function setDescription(?string $description): void + { + $this->description = $description; + } + + /** + * @return string|null + */ + public function getDefault(): ?string + { + return $this->default; + } + + /** + * @param string|null $default + */ + public function setDefault(?string $default): void + { + $this->default = $default; } /** @@ -72,9 +120,9 @@ public function toArray(): array { return [ - 'parameters' => $this->Parameters, - 'description' => $this->Description, - 'default' => $this->Default + 'parameters' => $this->parameters, + 'description' => $this->description, + 'default' => $this->default ]; } @@ -90,17 +138,17 @@ if(isset($data['parameters'])) { - $object->Parameters = $data['parameters']; + $object->parameters = $data['parameters']; } if(isset($data['description'])) { - $object->Description = $data['description']; + $object->description = $data['description']; } if(isset($data['default'])) { - $object->Default = $data['default']; + $object->default = $data['default']; } return $object; @@ -117,12 +165,12 @@ { $out = []; - if(count($this->Parameters) > 0) + if(count($this->parameters) > 0) { if($param_padding > 0) { /** @noinspection PhpRedundantOptionalArgumentInspection */ - $result = str_pad(implode(' ', $this->Parameters), $param_padding, ' ', STR_PAD_RIGHT); + $result = str_pad(implode(' ', $this->parameters), $param_padding, ' ', STR_PAD_RIGHT); if(!$basic) { @@ -133,22 +181,22 @@ } elseif($basic) { - $out[] .= implode(' ', $this->Parameters); + $out[] .= implode(' ', $this->parameters); } else { - $out[] .= Console::formatColor(implode(' ', $this->Parameters), ConsoleColors::GREEN); + $out[] .= Console::formatColor(implode(' ', $this->parameters), ConsoleColors::GREEN); } } - if($this->Description !== null) + if($this->description !== null) { - $out[] = $this->Description; + $out[] = $this->description; } - if($this->Default !== null) + if($this->default !== null) { - $out[] = '(Default: ' . $this->Default . ')'; + $out[] = '(Default: ' . $this->default . ')'; } return implode(' ', $out); diff --git a/src/ncc/Objects/ComposerJson.php b/src/ncc/Objects/ComposerJson.php index 59f8702..10297f5 100644 --- a/src/ncc/Objects/ComposerJson.php +++ b/src/ncc/Objects/ComposerJson.php @@ -1,24 +1,24 @@ type = ComposerPackageTypes::LIBRARY; $this->minimum_stability = ComposerStabilityTypes::STABLE; - $this->PreferStable = false; $this->abandoned = false; } + /** + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * @param string $name + */ + public function setName(string $name): void + { + $this->name = $name; + } + + /** + * @return string + */ + public function getDescription(): string + { + return $this->description; + } + + /** + * @param string $description + */ + public function setDescription(string $description): void + { + $this->description = $description; + } + + /** + * @return string|null + */ + public function getVersion(): ?string + { + return $this->version; + } + + /** + * @param string|null $version + */ + public function setVersion(?string $version): void + { + $this->version = $version; + } + + /** + * @return string + */ + public function getType(): string + { + return $this->type; + } + + /** + * @param string $type + */ + public function setType(string $type): void + { + $this->type = $type; + } + + /** + * @return string[] + */ + public function getKeywords(): array + { + return $this->keywords; + } + + /** + * @param string[] $keywords + */ + public function setKeywords(array $keywords): void + { + $this->keywords = $keywords; + } + + /** + * @return string|null + */ + public function getHomepage(): ?string + { + return $this->homepage; + } + + /** + * @param string|null $homepage + */ + public function setHomepage(?string $homepage): void + { + $this->homepage = $homepage; + } + + /** + * @return string|null + */ + public function getReadme(): ?string + { + return $this->readme; + } + + /** + * @param string|null $readme + */ + public function setReadme(?string $readme): void + { + $this->readme = $readme; + } + + /** + * @return string|null + */ + public function getTime(): ?string + { + return $this->time; + } + + /** + * @param string|null $time + */ + public function setTime(?string $time): void + { + $this->time = $time; + } + + /** + * @return string|string[]|null + */ + public function getLicense(): array|string|null + { + return $this->license; + } + + /** + * @param string|string[]|null $license + */ + public function setLicense(array|string|null $license): void + { + $this->license = $license; + } + + /** + * @return Author[]|null + */ + public function getAuthors(): ?array + { + return $this->authors; + } + + /** + * @param Author[]|null $authors + */ + public function setAuthors(?array $authors): void + { + $this->authors = $authors; + } + + /** + * @return Support|null + */ + public function getSupport(): ?Support + { + return $this->support; + } + + /** + * @param Support|null $support + */ + public function setSupport(?Support $support): void + { + $this->support = $support; + } + + /** + * @return PackageLink[]|null + */ + public function getRequire(): ?array + { + return $this->require; + } + + /** + * @param PackageLink[]|null $require + */ + public function setRequire(?array $require): void + { + $this->require = $require; + } + + /** + * @return PackageLink[]|null + */ + public function getRequireDev(): ?array + { + return $this->require_dev; + } + + /** + * @param PackageLink[]|null $require_dev + */ + public function setRequireDev(?array $require_dev): void + { + $this->require_dev = $require_dev; + } + + /** + * @return PackageLink[]|null + */ + public function getConflict(): ?array + { + return $this->conflict; + } + + /** + * @param PackageLink[]|null $conflict + */ + public function setConflict(?array $conflict): void + { + $this->conflict = $conflict; + } + + /** + * @return PackageLink[]|null + */ + public function getReplace(): ?array + { + return $this->replace; + } + + /** + * @param PackageLink[]|null $replace + */ + public function setReplace(?array $replace): void + { + $this->replace = $replace; + } + + /** + * @return PackageLink[]|null + */ + public function getProvide(): ?array + { + return $this->provide; + } + + /** + * @param PackageLink[]|null $provide + */ + public function setProvide(?array $provide): void + { + $this->provide = $provide; + } + + /** + * @return Suggestion[]|null + */ + public function getSuggest(): ?array + { + return $this->suggest; + } + + /** + * @param Suggestion[]|null $suggest + */ + public function setSuggest(?array $suggest): void + { + $this->suggest = $suggest; + } + + /** + * @return Autoloader|null + */ + public function getAutoload(): ?Autoloader + { + return $this->autoload; + } + + /** + * @param Autoloader|null $autoload + */ + public function setAutoload(?Autoloader $autoload): void + { + $this->autoload = $autoload; + } + + /** + * @return Autoloader|null + */ + public function getAutoloadDev(): ?Autoloader + { + return $this->autoload_dev; + } + + /** + * @param Autoloader|null $autoload_dev + */ + public function setAutoloadDev(?Autoloader $autoload_dev): void + { + $this->autoload_dev = $autoload_dev; + } + + /** + * @return string[]|null + */ + public function getIncludePath(): ?array + { + return $this->include_path; + } + + /** + * @param string[]|null $include_path + */ + public function setIncludePath(?array $include_path): void + { + $this->include_path = $include_path; + } + + /** + * @return string|null + */ + public function getTargetDirectory(): ?string + { + return $this->target_directory; + } + + /** + * @param string|null $target_directory + */ + public function setTargetDirectory(?string $target_directory): void + { + $this->target_directory = $target_directory; + } + + /** + * @return ComposerPackageTypes|string|null + */ + public function getMinimumStability(): ComposerPackageTypes|string|null + { + return $this->minimum_stability; + } + + /** + * @param ComposerPackageTypes|string|null $minimum_stability + */ + public function setMinimumStability(ComposerPackageTypes|string|null $minimum_stability): void + { + $this->minimum_stability = $minimum_stability; + } + + /** + * @return array|null + */ + public function getRepositories(): ?array + { + return $this->repositories; + } + + /** + * @param array|null $repositories + */ + public function setRepositories(?array $repositories): void + { + $this->repositories = $repositories; + } + + /** + * @return array|null + */ + public function getConfiguration(): ?array + { + return $this->configuration; + } + + /** + * @param array|null $configuration + */ + public function setConfiguration(?array $configuration): void + { + $this->configuration = $configuration; + } + + /** + * @return array|null + */ + public function getScripts(): ?array + { + return $this->scripts; + } + + /** + * @param array|null $scripts + */ + public function setScripts(?array $scripts): void + { + $this->scripts = $scripts; + } + + /** + * @return array|null + */ + public function getExtra(): ?array + { + return $this->extra; + } + + /** + * @param array|null $extra + */ + public function setExtra(?array $extra): void + { + $this->extra = $extra; + } + + /** + * @return array|null + */ + public function getBin(): ?array + { + return $this->bin; + } + + /** + * @param array|null $bin + */ + public function setBin(?array $bin): void + { + $this->bin = $bin; + } + + /** + * @return array|null + */ + public function getArchive(): ?array + { + return $this->archive; + } + + /** + * @param array|null $archive + */ + public function setArchive(?array $archive): void + { + $this->archive = $archive; + } + + /** + * @return bool + */ + public function isAbandoned(): bool + { + return $this->abandoned; + } + + /** + * @param bool $abandoned + */ + public function setAbandoned(bool $abandoned): void + { + $this->abandoned = $abandoned; + } + + /** + * @return array|null + */ + public function getNonFeatureBranches(): ?array + { + return $this->non_feature_branches; + } + + /** + * @param array|null $non_feature_branches + */ + public function setNonFeatureBranches(?array $non_feature_branches): void + { + $this->non_feature_branches = $non_feature_branches; + } + /** * Returns an array representation of the object * @@ -396,7 +878,7 @@ 'config' => $this->configuration, 'scripts' => $this->scripts, 'extra' => $this->extra, - 'bin' => $this->Bin, + 'bin' => $this->bin, 'archive' => $this->archive, 'abandoned' => $this->abandoned, 'non-feature-branches' => $this->non_feature_branches @@ -567,7 +1049,7 @@ if(isset($data['bin'])) { - $object->Bin = $data['bin']; + $object->bin = $data['bin']; } if(isset($data['archive'])) diff --git a/src/ncc/Objects/ComposerLock.php b/src/ncc/Objects/ComposerLock.php index 21eda7a..23ea97b 100644 --- a/src/ncc/Objects/ComposerLock.php +++ b/src/ncc/Objects/ComposerLock.php @@ -1,24 +1,24 @@ Packages as $package) + foreach($this->packages as $package) { - if($package->name === $name) + if($package->getName() === $name) { return $package; } @@ -105,6 +105,198 @@ return null; } + /** + * @return string + */ + public function getReadme(): string + { + return $this->readme; + } + + /** + * @param string $readme + */ + public function setReadme(string $readme): void + { + $this->readme = $readme; + } + + /** + * @return string + */ + public function getContentHash(): string + { + return $this->content_hash; + } + + /** + * @param string $content_hash + */ + public function setContentHash(string $content_hash): void + { + $this->content_hash = $content_hash; + } + + /** + * @return ComposerJson[]|null + */ + public function getPackages(): ?array + { + return $this->packages; + } + + /** + * @param ComposerJson[]|null $packages + */ + public function setPackages(?array $packages): void + { + $this->packages = $packages; + } + + /** + * @return array|null + */ + public function getPackagesDev(): ?array + { + return $this->packages_dev; + } + + /** + * @param array|null $packages_dev + */ + public function setPackagesDev(?array $packages_dev): void + { + $this->packages_dev = $packages_dev; + } + + /** + * @return array|null + */ + public function getAliases(): ?array + { + return $this->aliases; + } + + /** + * @param array|null $aliases + */ + public function setAliases(?array $aliases): void + { + $this->aliases = $aliases; + } + + /** + * @return string|null + */ + public function getMinimumStability(): ?string + { + return $this->minimum_stability; + } + + /** + * @param string|null $minimum_stability + */ + public function setMinimumStability(?string $minimum_stability): void + { + $this->minimum_stability = $minimum_stability; + } + + /** + * @return array|null + */ + public function getStabilityFlags(): ?array + { + return $this->stability_flags; + } + + /** + * @param array|null $stability_flags + */ + public function setStabilityFlags(?array $stability_flags): void + { + $this->stability_flags = $stability_flags; + } + + /** + * @return bool + */ + public function isPreferStable(): bool + { + return $this->prefer_stable; + } + + /** + * @param bool $prefer_stable + */ + public function setPreferStable(bool $prefer_stable): void + { + $this->prefer_stable = $prefer_stable; + } + + /** + * @return bool + */ + public function isPreferLowest(): bool + { + return $this->prefer_lowest; + } + + /** + * @param bool $prefer_lowest + */ + public function setPreferLowest(bool $prefer_lowest): void + { + $this->prefer_lowest = $prefer_lowest; + } + + /** + * @return array|null + */ + public function getPlatform(): ?array + { + return $this->platform; + } + + /** + * @param array|null $platform + */ + public function setPlatform(?array $platform): void + { + $this->platform = $platform; + } + + /** + * @return array|null + */ + public function getPlatformDev(): ?array + { + return $this->platform_dev; + } + + /** + * @param array|null $platform_dev + */ + public function setPlatformDev(?array $platform_dev): void + { + $this->platform_dev = $platform_dev; + } + + /** + * @return string|null + */ + public function getPluginApiVersion(): ?string + { + return $this->plugin_api_version; + } + + /** + * @param string|null $plugin_api_version + */ + public function setPluginApiVersion(?string $plugin_api_version): void + { + $this->plugin_api_version = $plugin_api_version; + } + /** * Returns an array representation of the object * @@ -113,26 +305,26 @@ public function toArray(): array { $_packages = []; - if($this->Packages !== null) + if($this->packages !== null) { - foreach($this->Packages as $package) + foreach($this->packages as $package) { $_packages[] = $package->toArray(); } } return [ - '_readme' => $this->Readme, - 'content-hash' => $this->ContentHash, + '_readme' => $this->readme, + 'content-hash' => $this->content_hash, 'packages' => $_packages, - 'packages-dev' => $this->PackagesDev, - 'aliases' => $this->Aliases, - 'minimum-stability' => $this->MinimumStability, - 'stability-flags' => $this->StabilityFlags, - 'prefer-stable' => $this->PreferStable, - 'prefer-lowest' => $this->PreferLowest, - 'platform' => $this->Platform, - 'platform-dev' => $this->PlatformDev, - 'plugin-api-version' => $this->PluginApiVersion, + 'packages-dev' => $this->packages_dev, + 'aliases' => $this->aliases, + 'minimum-stability' => $this->minimum_stability, + 'stability-flags' => $this->stability_flags, + 'prefer-stable' => $this->prefer_stable, + 'prefer-lowest' => $this->prefer_lowest, + 'platform' => $this->platform, + 'platform-dev' => $this->platform_dev, + 'plugin-api-version' => $this->plugin_api_version, ]; } @@ -146,25 +338,25 @@ { $object = new self(); - $object->Readme = $data['_readme']; - $object->ContentHash = $data['content-hash']; - $object->Packages = []; + $object->readme = $data['_readme']; + $object->content_hash = $data['content-hash']; + $object->packages = []; if($data['packages'] !== null) { foreach($data['packages'] as $package) { - $object->Packages[] = ComposerJson::fromArray($package); + $object->packages[] = ComposerJson::fromArray($package); } } - $object->PackagesDev = $data['packages-dev']; - $object->Aliases = $data['aliases']; - $object->MinimumStability = $data['minimum-stability']; - $object->StabilityFlags = $data['stability-flags']; - $object->PreferStable = $data['prefer-stable']; - $object->PreferLowest = $data['prefer-lowest']; - $object->Platform = $data['platform']; - $object->PlatformDev = $data['platform-dev']; - $object->PluginApiVersion = $data['plugin-api-version']; + $object->packages_dev = $data['packages-dev']; + $object->aliases = $data['aliases']; + $object->minimum_stability = $data['minimum-stability']; + $object->stability_flags = $data['stability-flags']; + $object->prefer_stable = $data['prefer-stable']; + $object->prefer_lowest = $data['prefer-lowest']; + $object->platform = $data['platform']; + $object->platform_dev = $data['platform-dev']; + $object->plugin_api_version = $data['plugin-api-version']; return $object; } diff --git a/src/ncc/Objects/DefinedRemoteSource.php b/src/ncc/Objects/DefinedRemoteSource.php index 3fa361c..946398f 100644 --- a/src/ncc/Objects/DefinedRemoteSource.php +++ b/src/ncc/Objects/DefinedRemoteSource.php @@ -1,24 +1,24 @@ name; + } + + /** + * @param string $name + */ + public function setName(string $name): void + { + $this->name = $name; + } + + /** + * @return DefinedRemoteSourceType|string + */ + public function getType(): DefinedRemoteSourceType|string + { + return $this->type; + } + + /** + * @param DefinedRemoteSourceType|string $type + */ + public function setType(DefinedRemoteSourceType|string $type): void + { + $this->type = $type; + } + + /** + * @return string + */ + public function getHost(): string + { + return $this->host; + } + + /** + * @param string $host + */ + public function setHost(string $host): void + { + $this->host = $host; + } + + /** + * @return bool + */ + public function isSsl(): bool + { + return $this->ssl; + } + + /** + * @param bool $ssl + */ + public function setSsl(bool $ssl): void + { + $this->ssl = $ssl; + } /** * Returns an array representation of the object diff --git a/src/ncc/Objects/HttpRequest.php b/src/ncc/Objects/HttpRequest.php index bf228f7..e283939 100644 --- a/src/ncc/Objects/HttpRequest.php +++ b/src/ncc/Objects/HttpRequest.php @@ -1,100 +1,193 @@ Type = HttpRequestType::GET; - $this->Body = null; - $this->Headers = [ + $this->type = HttpRequestType::GET; + $this->options = []; + $this->headers = [ 'User-Agent: ncc/1.0' ]; - $this->Options = []; } /** - * Returns an array representation of the object. - * + * @return HttpRequestType|string + */ + public function getType(): HttpRequestType|string + { + return $this->type; + } + + /** + * @param HttpRequestType|string $type + */ + public function setType(HttpRequestType|string $type): void + { + $this->type = $type; + } + + /** + * @return string + */ + public function getUrl(): string + { + return $this->url; + } + + /** + * @param string $url + */ + public function setUrl(string $url): void + { + $this->url = $url; + } + + /** + * @return array|string[] + */ + public function getHeaders(): array + { + return $this->headers; + } + + /** + * @param array|string[] $headers + */ + public function setHeaders(array $headers): void + { + $this->headers = $headers; + } + + /** + * @param string $header + * @return void + */ + public function addHeader(string $header): void + { + $this->headers[] = $header; + } + + /** + * @return string|null + */ + public function getBody(): ?string + { + return $this->body; + } + + /** + * @param string|null $body + */ + public function setBody(?string $body): void + { + $this->body = $body; + } + + /** + * @return array|string + */ + public function getAuthentication(): array|string + { + return $this->authentication; + } + + /** + * @param array|string $authentication + */ + public function setAuthentication(array|string $authentication): void + { + $this->authentication = $authentication; + } + + /** * @return array */ - public function toArray(): array + public function getOptions(): array { - return [ - 'type' => $this->Type, - 'url' => $this->Url, - 'headers' => $this->Headers, - 'body' => $this->Body, - 'authentication' => $this->Authentication, - 'options' => $this->Options - ]; + return $this->options; + } + + /** + * @param array $options + */ + public function setOptions(array $options): void + { + $this->options = $options; } /** @@ -105,24 +198,50 @@ */ public function requestHash(): string { - return hash('sha1', json_encode($this->toArray())); + try + { + return hash('sha1', json_encode($this->toArray(), JSON_THROW_ON_ERROR)); + } + catch(JsonException $e) + { + throw new RuntimeException(sprintf('Failed to hash request: %s', $e->getMessage()), $e->getCode(), $e); + } + } + + /** + * Returns an array representation of the object. + * + * @return array + */ + public function toArray(): array + { + return [ + 'type' => $this->type, + 'url' => $this->url, + 'headers' => $this->headers, + 'body' => $this->body, + 'authentication' => $this->authentication, + 'options' => $this->options + ]; } /** * Constructs a new HttpRequest object from an array representation. * * @param array $data - * @return static + * @return HttpRequest */ - public static function fromArray(array $data): self + public static function fromArray(array $data): HttpRequest { $request = new self(); - $request->Type = $data['type']; - $request->Url = $data['url']; - $request->Headers = $data['headers']; - $request->Body = $data['body']; - $request->Authentication = $data['authentication']; - $request->Options = $data['options']; + + $request->type = $data['type']; + $request->url = $data['url']; + $request->headers = $data['headers']; + $request->body = $data['body']; + $request->authentication = $data['authentication']; + $request->options = $data['options']; + return $request; } } \ No newline at end of file diff --git a/src/ncc/Objects/HttpResponse.php b/src/ncc/Objects/HttpResponse.php index d412b99..ebf956c 100644 --- a/src/ncc/Objects/HttpResponse.php +++ b/src/ncc/Objects/HttpResponse.php @@ -1,57 +1,110 @@ StatusCode = 0; - $this->Headers = []; - $this->Body = ''; + $this->status_code = 0; + $this->headers = []; + $this->body = (string)null; + } + + /** + * @return int + */ + public function getStatusCode(): int + { + return $this->status_code; + } + + /** + * @param int $status_code + */ + public function setStatusCode(int $status_code): void + { + $this->status_code = $status_code; + } + + /** + * @return array + */ + public function getHeaders(): array + { + return $this->headers; + } + + /** + * @param array $headers + */ + public function setHeaders(array $headers): void + { + $this->headers = $headers; + } + + /** + * @return string + */ + public function getBody(): string + { + return $this->body; + } + + /** + * @param string $body + */ + public function setBody(string $body): void + { + $this->body = $body; } /** @@ -62,9 +115,23 @@ public function toArray(): array { return [ - 'status_code' => $this->StatusCode, - 'headers' => $this->Headers, - 'body' => $this->Body + 'status_code' => $this->status_code, + 'headers' => $this->headers, + 'body' => $this->body ]; } + + /** + * @inheritDoc + */ + public static function fromArray(array $data): HttpResponse + { + $object = new self(); + + $object->status_code = $data['status_code']; + $object->headers = $data['headers']; + $object->body = $data['body']; + + return $object; + } } \ No newline at end of file diff --git a/src/ncc/Utilities/Functions.php b/src/ncc/Utilities/Functions.php index 553d016..9f5dc98 100644 --- a/src/ncc/Utilities/Functions.php +++ b/src/ncc/Utilities/Functions.php @@ -203,9 +203,9 @@ foreach($input as $optionsSection) { - if(count($optionsSection->Parameters) > 0) + if(count($optionsSection->getParameters()) > 0) { - foreach($optionsSection->Parameters as $parameter) + foreach($optionsSection->getParameters() as $parameter) { if($current_count < strlen($parameter)) { @@ -572,7 +572,7 @@ switch ($entry->getPassword()?->getAuthenticationType()) { case AuthenticationType::ACCESS_TOKEN: - $http_request->Headers[] = "Authorization: Bearer " . $entry->getPassword(); + $http_request->addHeader("Authorization: Bearer " . $entry->getPassword()); break; case AuthenticationType::USERNAME_PASSWORD: @@ -582,8 +582,8 @@ if($expect_json) { - $http_request->Headers[] = "Accept: application/json"; - $http_request->Headers[] = "Content-Type: application/json"; + $http_request->addHeader("Accept: application/json"); + $http_request->addHeader("Content-Type: application/json"); } return $http_request; @@ -607,8 +607,8 @@ $out_path = self::getTmpDir() . "/" . basename($url); $http_request = new HttpRequest(); - $http_request->Url = $url; - $http_request->Type = HttpRequestType::GET; + $http_request->setUrl($url); + $http_request->setType(HttpRequestType::GET); $http_request = self::prepareGitServiceRequest($http_request, $entry, false); Console::out('Downloading file ' . $url); @@ -790,7 +790,7 @@ { $results = new RepositoryQueryResults(); - switch($definedRemoteSource->type) + switch($definedRemoteSource->getType()) { case DefinedRemoteSourceType::GITHUB: $source = GithubService::class; @@ -807,7 +807,7 @@ // Check if the specified version is a release try { - Console::outVerbose(sprintf('Attempting to fetch source code from %s', $definedRemoteSource->host)); + Console::outVerbose(sprintf('Attempting to fetch source code from %s', $definedRemoteSource->getHost())); $release_results = $source::getRelease($packageInput, $definedRemoteSource, $entry); } catch(Exception $e)