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
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());
|
|
}
|
|
}
|