This commit is contained in:
as2252258@163.com
2021-08-28 01:37:47 +08:00
parent a4823d5d41
commit fc634c94ed
2 changed files with 75 additions and 54 deletions
+2 -2
View File
@@ -24,12 +24,12 @@ class ExceptionHandlerDispatcher implements ExceptionHandlerInterface
{
if ($exception->getCode() == 404) {
return $response->withBody(new Stream($exception->getMessage()))
->withHeader('Content-Type', 'text/html')
->withContentType(Message\Response::CONTENT_TYPE_HTML)
->withStatus(404);
}
$code = $exception->getCode() == 0 ? 500 : $exception->getCode();
return $response->withBody(new Stream(jTraceEx($exception, null, true)))
->withHeader('Content-Type', 'text/html')
->withContentType(Message\Response::CONTENT_TYPE_HTML)
->withStatus($code);
}
+21
View File
@@ -17,6 +17,27 @@ class Response implements ResponseInterface, \Server\ResponseInterface
public string $reasonPhrase = '';
const CONTENT_TYPE_JSON = 'application/json;charset=utf-8';
const CONTENT_TYPE_HTML = 'text/html;charset=utf-8';
const CONTENT_TYPE_STREAM = 'octet-stream';
const CONTENT_TYPE_XML = 'application/xml;charset=utf-8';
/**
* @param string $type
* @return $this
*/
public function withContentType(string $type): static
{
if (!in_array($type, [
Response::CONTENT_TYPE_HTML, Response::CONTENT_TYPE_JSON,
Response::CONTENT_TYPE_STREAM, Response::CONTENT_TYPE_XML
])) {
throw new \Exception('Wrong content type.');
}
return $this->withHeader('Content-Type', $type);
}
/**
* @return int