[FreeNetwork] First steps porting webfinger/lrdd to v3, GET webfinger requests already have a basic result

This commit is contained in:
2021-10-18 13:22:02 +01:00
parent 44cf1fa24c
commit 8544fe157b
161 changed files with 5163 additions and 103 deletions

View File

@@ -0,0 +1,38 @@
<?php
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];
}
}