fix(preview): handle unavailable previews as no content
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -989,10 +989,7 @@ class DefaultController extends ControllerAbstract {
|
|||||||
isset($data['variant']) && is_string($data['variant']) ? $data['variant'] : 'inline',
|
isset($data['variant']) && is_string($data['variant']) ? $data['variant'] : 'inline',
|
||||||
);
|
);
|
||||||
if ($preview === null) {
|
if ($preview === null) {
|
||||||
return new JsonResponse([
|
return new Response('', Response::HTTP_NO_CONTENT);
|
||||||
'status' => 'error',
|
|
||||||
'error' => ['code' => 404, 'message' => 'Preview unavailable'],
|
|
||||||
], Response::HTTP_NOT_FOUND);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new StreamedResponse($preview->resource->stream(), Response::HTTP_OK, [
|
return new StreamedResponse($preview->resource->stream(), Response::HTTP_OK, [
|
||||||
|
|||||||
@@ -199,6 +199,9 @@ export async function transceiveBlob<TRequest>(operation: string, data: TRequest
|
|||||||
await fetchWrapper.post(API_URL, request, {
|
await fetchWrapper.post(API_URL, request, {
|
||||||
headers: { 'Accept': '*/*' },
|
headers: { 'Accept': '*/*' },
|
||||||
onStream: async (response: Response) => {
|
onStream: async (response: Response) => {
|
||||||
|
if (response.status === 204) {
|
||||||
|
throw new Error(`[${operation}] Preview unavailable`);
|
||||||
|
}
|
||||||
blob = await response.blob();
|
blob = await response.blob();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user