You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
999 B
PHP

<?php
namespace CubiStore\Web\Controller;
use CubiStore\Web\Service\FDroidRepoService;
use Slim\Psr7\Response;
class Repo
{
public function json(Response $response, FDroidRepoService $repoService)
{
$jsonArr = $repoService->createIndexV1Array();
$response
->getBody()->write((string)json_encode($jsonArr));
return $response
->withHeader('Content-Type', 'application/json');
}
public function jarJson(Response $response, FDroidRepoService $repoService)
{
$jsonArr = $repoService->createIndexV1Array();
$jsonFile = json_encode($jsonArr);
if ($jsonFile === false) {
throw new \RuntimeException("Failed creating repo");
}
$jar = $repoService->createSigned('index-v1.json', $jsonFile);
$response->getBody()->write($jar);
return $response
->withHeader('Content-Type', 'application/x-jar')
->withHeader('ETag', (string)time());
}
}