Files
Component-Builder/libraries/vendor_jcb/VDM.Joomla.Gitea/src/Utilities/Http.php
Robot 442263e387 Release of v5.1.0
Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument  above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed. Started compiling JCB5 on Joomla 5 with PHP 8.2. Add init_defaults option for dynamic form selection setup (to int new items with default values dynamically). Update all JCB 5 tables to utf8mb4_unicode_ci collation if misaligned. Move all internal ID linking to GUID inside of JCB 5. Updated the admin-tab-fields in add-fields view. #1205. Remove Custom Import Tab from admin view. Improved the customcode and placeholder search features.
2025-02-14 22:55:55 +02:00

108 lines
2.1 KiB
PHP

<?php
/**
* @package Joomla.Component.Builder
*
* @created 4th September, 2022
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Gitea\Utilities;
use Joomla\CMS\Http\Http as JoomlaHttp;
use Joomla\CMS\Uri\Uri;
use Joomla\Registry\Registry;
/**
* The Gitea Http
*
* @since 3.2.0
*/
final class Http extends JoomlaHttp
{
/**
* The token
*
* @var string|null
* @since 3.2.0
*/
protected ?string $_token_; // to avoid collisions (but allow swapping)
/**
* Constructor.
*
* @param string|null $token The Gitea API token.
*
* @since 3.2.0
* @throws \InvalidArgumentException
**/
public function __construct(?string $token = null)
{
// setup config
$config = [
'userAgent' => 'JoomlaGitea/3.0',
'headers' => [
'Content-Type' => 'application/json'
]
];
// add the token if given
if (is_string($token) && !empty($token))
{
$config['headers']['Authorization'] = 'token ' . $token;
$this->_token_ = $token;
}
$options = new Registry($config);
// run parent constructor
parent::__construct($options);
}
/**
* Change the Token.
*
* @param string $token The Gitea API token.
*
* @since 3.2.0
**/
public function setToken(string $token): void
{
// get the current headers
$headers = (array) $this->getOption('headers', [
'Content-Type' => 'application/json'
]
);
if (empty($token))
{
unset($headers['Authorization']);
}
else
{
// add the token
$headers['Authorization'] = 'token ' . $token;
$this->_token_ = $token;
}
$this->setOption('headers', $headers);
}
/**
* Get the Token.
*
* @return string|null
* @since 3.2.0
**/
public function getToken(): ?string
{
return $this->_token_ ?? null;
}
}