. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Authentication\Login; /** * Immutable. */ class MetadataParams { /** * @internal */ public function __construct( private string $method, private bool $api = false, private ?string $credentialsHeader = null, private ?string $credentialsHeaderScheme = null, ) {} /** * @param array $data */ public static function fromRaw(string $method, array $data): self { return new self( method: $method, api: $data['api'] ?? false, credentialsHeader: $data['credentialsHeader'] ?? null, credentialsHeaderScheme: $data['credentialsHeaderScheme'] ?? null, ); } public function getMethod(): string { return $this->method; } public function getCredentialsHeader(): ?string { return $this->credentialsHeader; } public function isApi(): bool { return $this->api; } public function getCredentialsHeaderScheme(): ?string { return $this->credentialsHeaderScheme; } }