░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/moodle/public/lib/classes/router/schema/response/content
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: media_type.php
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. namespace core\router\schema\response\content; use core\exception\coding_exception; use core\router\schema\example; use core\router\schema\openapi_base; use core\router\schema\objects\type_base; use core\router\schema\specification; /** * An OpenAPI MediaType. * https://swagger.io/specification/#media-type-object * * @package core * @copyright 2023 Andrew Lyons <andrew@nicols.co.uk> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class media_type extends openapi_base { /** * Create a new instance of a media_type definition. * * @param type_base|null $schema The OpenAPI Schema to use * @param example|null $example An example of the media type * @param example[] $examples An array of examples of the media type * @param bool $required Whether the media_type is required * @param mixed[] ...$extra * @throws coding_exception */ public function __construct( /** @var type_base|null The OpenAPI Schema to use */ protected ?type_base $schema = null, /** @var example|null An example of the media type */ protected ?example $example = null, /** @var example[] An array of examples of the media type */ protected array $examples = [], /** @var bool Whether the media_type is required */ protected bool $required = false, ...$extra, ) { if ($example) { if (count($examples)) { throw new coding_exception('Only one of example or examples can be specified.'); } $this->examples[$example->get_name()] = $example; } parent::__construct(...$extra); } #[\Override] public function get_openapi_description( specification $api, ?string $path = null, ): ?\stdClass { $data = (object) []; if ($this->schema) { $data->schema = $this->schema->get_openapi_schema( api: $api, ); } if (count($this->examples)) { $data->examples = []; foreach ($this->examples as $example) { $data->examples[$example->get_name()] = $example->get_openapi_schema($api); } } if ($this->required) { $data->required = true; } return $data; } /** * Get the schema for this media type. * * @return type_base */ public function get_schema(): type_base { return $this->schema; } /** * Get the mimetype for this media type. * * @return string */ public function get_mimetype(): string { return static::get_encoding(); } /** * Get the encoding for this media type. * * @return string */ abstract public static function get_encoding(): string; /** * Whether this query parameter is required. * * @return bool */ public function is_required(): bool { return $this->required; } }
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 json_media_type.php
PHP
1 KB
2026-02-11 01:44
EDIT
📄 media_type.php
PHP
3.7 KB
2026-02-11 01:44
EDIT
📄 payload_response_type.php
PHP
3.4 KB
2026-02-11 01:44
EDIT