[ 'eshop_users' => true, 'api' => true, ], 'logged_user' => true, ]; public function __construct(LoggerInterface $logger) { $this->logger = $logger; } public function getResponse(?Request $request = null) { // MRTĚ HUSTO KRUTOPŘÍSNEJ JOEŮV HACK: $_SERVER['SCRIPT_NAME'] = '/api/launch.php'; Explorer::$hideProtected = false; Explorer::$allowScalarValueOnRequestBody = false; global $cfg; Defaults::$useUrlBasedVersioning = true; Defaults::$cacheDirectory = realpath($cfg['Path']['data'].'tmp/cache'); Defaults::$crossOriginResourceSharing = true; Defaults::$accessControlAllowOrigin = '*'; Defaults::$returnResponse = true; Defaults::$apiAccessLevel = 2; $r = new Restler(!isDevelopment()); $r->onComplete(function () use ($r) { Errors::log($this->logger, $r); }); $r->addErrorClass(Errors::class); Info::$contactEmail = 'wpj@wpj.cz'; Info::$description = 'Live B2B API Documentation'; Info::$title = 'B2B API Documentation'; $r->setAPIVersion(1); $r->addAPIClass('KupShop\ApiBundle\Api\Endpoints\CartEndpoint', 'cart'); $r->addAPIClass('KupShop\ApiBundle\Api\Endpoints\OrderEndpoint', 'order'); $r->addAPIClass('KupShop\ApiBundle\Api\ApiExplorer', 'explorer'); $r->setSupportedFormats('JsonFormat', 'XmlFormat'); $r->addAuthenticationClass('KupShop\ApiBundle\Api\Auth'); $r->setBaseUrls('https://'.Contexts::get(DomainContext::class)->getActiveId()); $response = new Response($r->handle(), $r->responseCode); $response->headers->set('Content-Type', $r->responseFormat->getMIME()); return $response; } }