mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-23 09:02:41 +00:00
f902346b6c
- RuntimeData has now been replaced by a single static Data class - The Data class has a load() method which fills the same role as the constructor of RuntimeData - The static Lang class is now an instantiable class and is a member of Data - All tests have been adjusted and pass - The Exception tests no longer require convoluted workarounds: a simple mock for Data::$l suffices; Lang tests also use a mock to prevent loops now instead of using a workaround
30 lines
No EOL
866 B
PHP
30 lines
No EOL
866 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
namespace JKingWeb\Arsse\REST\NextCloudNews;
|
|
use JKingWeb\Arsse\REST\Response;
|
|
|
|
class Versions extends \JKingWeb\Arsse\REST\AbstractHandler {
|
|
function __construct() {
|
|
}
|
|
|
|
function dispatch(\JKingWeb\Arsse\REST\Request $req): \JKingWeb\Arsse\REST\Response {
|
|
// parse the URL and populate $path and $query
|
|
extract($this->parseURL($req->url));
|
|
// if a method other than GET was used, this is an error
|
|
if($req->method != "GET") {
|
|
return new Response(405);
|
|
}
|
|
if(preg_match("<^/?$>",$path)) {
|
|
// if the request path is an empty string or just a slash, return the supported versions
|
|
$out = [
|
|
'apiLevels' => [
|
|
'v1-2',
|
|
]
|
|
];
|
|
return new Response(200, $out);
|
|
} else {
|
|
// if the URL path was anything else, the client is probably trying a version we don't support
|
|
return new Response(404);
|
|
}
|
|
}
|
|
} |