1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- declare(strict_types = 1);
- namespace Component\FreeNetwork\Util;
- use App\Core\Controller;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\RequestStack;
- use XML_XRD;
- abstract class XrdController extends Controller
- {
- protected string $default_mimetype = Discovery::JRD_MIMETYPE;
- protected XML_XRD $xrd;
- /*
- * Configures $this->xrd which will later be printed. Must be
- * implemented by child classes.
- */
- abstract protected function setXRD();
- public function __construct(RequestStack $requestStack)
- {
- parent::__construct($requestStack);
- if ($this->request->headers->get('format', null) === null) {
- $this->request->headers->set('format', $this->default_mimetype);
- }
- $this->xrd = new XML_XRD();
- }
- public function handle(Request $request): array
- {
- $this->setXRD();
- return ['xrd' => $this->xrd, 'default_mimetype' => $this->default_mimetype];
- }
- }
|