forked from GNUsocial/gnu-social
[FreeNetwork] First steps porting webfinger/lrdd to v3, GET webfinger requests already have a basic result
This commit is contained in:
38
components/FreeNetwork/Util/XrdController.php
Normal file
38
components/FreeNetwork/Util/XrdController.php
Normal 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];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user