/** * @test */ public function willClassifyAuthenticationExceptionAsWarningsAndReturn401Status() { $error = new HttpError(new Request(), new AuthenticationException(), $this->logRefBuilder); $this->assertSame($error->getSeverity(), LogLevel::WARNING); $this->assertSame($error->getStatusCode(), 401); $this->assertStringStartsWith('Unauthorized', $error->getMessage()); }
/** * @param HttpError $error * * @return Response */ public function create(HttpError $error) : Response { $data = ['message' => $error->getMessage(), 'logref' => $error->getLogRef()]; $exception = $error->getException(); if ($exception instanceof ValidationException) { $data['errors'] = []; foreach ($exception->getValidationErrors() as $path => $errorMessage) { $data['errors'][$path === '' ? '*root*' : $path] = $errorMessage; } } return new JsonResponse($data, $error->getStatusCode()); }