public function testUnauthorizedPostUserRegistrationAction()
 {
     $this->configHandler->shouldReceive('getParameter')->with('allow_self_registration')->once()->andReturn(false);
     $response = new JsonResponse(array(), 403);
     $this->assertEquals($response->getStatusCode(), $this->controller->postUserRegistrationAction('json')->getStatusCode());
     $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\JsonResponse', $this->controller->postUserRegistrationAction('json'));
 }
 /**
  * @param GetResponseForExceptionEvent $event
  */
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $response = new JsonResponse();
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
     } elseif ($exception instanceof AuthenticationException) {
         $response->setStatusCode(403);
     } else {
         $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
     }
     $response->setData(array('message' => $exception->getMessage(), 'status_code' => $response->getStatusCode(), 'trace' => $exception->getTrace(), 'code' => $exception->getCode()));
     $event->setResponse($response);
 }
Example #3
0
 /**
  * refresh a given access credentials
  * @param $request
  * @return string|Response
  */
 public function refreshAction(Request $request)
 {
     try {
         $refreshCode = $this->getRefreshCode($request);
         $clientSecret = $this->getClientSecret($request);
         $credentials = $this->accessProvider->refresh($request, $refreshCode, $clientSecret);
         $response = new JsonResponse(['access_code' => $credentials->getAccessCode(), 'refresh_code' => $credentials->getRefreshCode(), 'lifetime' => $credentials->getLifetime()]);
     } catch (SoauthException $e) {
         $data = [];
         if ($e instanceof BadDataException) {
             $data['errors'] = $e->getErrors();
         }
         $response = new JsonResponse($data, Response::HTTP_BAD_REQUEST);
     }
     $this->info('< Response', ['status_code' => $response->getStatusCode()]);
     return $response;
 }
Example #4
0
 public function testConstructorWithCustomStatus()
 {
     $response = new JsonResponse(array(), 202);
     $this->assertSame(202, $response->getStatusCode());
 }
Example #5
0
 /**
  * Return response with debug trace.
  *
  * @param \Exception $exception
  * @param int        $statusCode
  *
  * @return Response
  */
 private function getDebugTraceResponse(\Exception $exception, $statusCode)
 {
     $request = $this->application->getRequest();
     $response = (new \Symfony\Component\Debug\ExceptionHandler())->createResponse($exception);
     $response->setStatusCode($statusCode);
     if (in_array('application/json', $request->getAcceptableContentTypes())) {
         $response = new JsonResponse($response->getContent(), $response->getStatusCode(), $response->headers->all());
     }
     return $response;
 }
        $rendered = $app['twig']->render('api.json', array('data' => $data));
        $rendered = preg_replace('/[\\t]+/', '', preg_replace('/[\\r\\n]+/', '', $rendered));
        $rendered = json_decode($rendered);
        $response = new JsonResponse($rendered, 429);
        $response->headers->set('Retry-After', ceil($seconds));
        return $response;
    }
}, Silex\Application::EARLY_EVENT);
$app->after(function (Request $request, Response $response, Silex\Application $app) {
    // apply the current reponse code and status to the return envelope
    $message = $response->getContent();
    $message = preg_replace('/[\\t]+/', '', preg_replace('/[\\r\\n]+/', '', $message));
    $message = json_decode($message);
    // make sure the response is a standard envelope
    if (is_object($message) and property_exists($message, 'meta')) {
        $code = $response->getStatusCode();
        $message->meta->code = $code;
        if (substr($code, 0, 1) === '2') {
            $message->meta->success = true;
        }
        $response->setContent(json_encode($message));
    }
});
$app->error(function (\Exception $e, $code) use($app) {
    if ($app['debug']) {
        return;
    }
    // 404.html, or 40x.html, or 4xx.html, or error.html
    $templates = array('errors/' . $code . '.html', 'errors/' . substr($code, 0, 2) . 'x.html', 'errors/' . substr($code, 0, 1) . 'xx.html', 'errors/default.html');
    return new Response($app['twig']->resolveTemplate($templates)->render(array('code' => $code)), $code);
});
Example #7
0
 private function assert403(JsonResponse $jsonResponse)
 {
     $this->assertEquals(403, $jsonResponse->getStatusCode());
 }