Skip to content

Commit dfa0f6f

Browse files
committed
After review 2
1 parent e13eed4 commit dfa0f6f

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

src/Controller/SubscribersController.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,25 @@ public function index(Request $request): JsonResponse|Response
7272
return $this->json($this->subscriberCollectionNormalizer->normalize($collection, $prevId, $afterId));
7373
}
7474

75+
/**
76+
* @SuppressWarnings("CyclomaticComplexity")
77+
*/
7578
#[Route('/export', name: 'export', methods: ['GET'])]
7679
public function export(Request $request): Response
7780
{
7881
$exportRequest = $this->subscriberExportRequestFactory->fromQuery($request->query);
7982

8083
$upstreamResponse = $this->subscribersClient->exportSubscribers($exportRequest);
84+
$statusCode = $upstreamResponse->getStatusCode();
85+
$isSuccessfulExport = $statusCode >= 200 && $statusCode < 300;
8186

8287
$contentType = $upstreamResponse->getHeaderLine('Content-Type');
83-
if ($contentType === '') {
88+
if ($isSuccessfulExport && $contentType === '') {
8489
$contentType = 'text/csv; charset=UTF-8';
8590
}
8691

8792
$contentDisposition = $upstreamResponse->getHeaderLine('Content-Disposition');
88-
if ($contentDisposition === '') {
93+
if ($isSuccessfulExport && $contentDisposition === '') {
8994
$contentDisposition = sprintf(
9095
'attachment; filename="subscribers_export_%s.csv"',
9196
date('Y-m-d_H-i-s')
@@ -102,10 +107,15 @@ static function () use ($body): void {
102107
echo $body->read(8192);
103108
}
104109
},
105-
$upstreamResponse->getStatusCode()
110+
$statusCode
106111
);
107-
$response->headers->set('Content-Type', $contentType);
108-
$response->headers->set('Content-Disposition', $contentDisposition);
112+
if ($contentType !== '') {
113+
$response->headers->set('Content-Type', $contentType);
114+
}
115+
116+
if ($contentDisposition !== '') {
117+
$response->headers->set('Content-Disposition', $contentDisposition);
118+
}
109119

110120
return $response;
111121
}

0 commit comments

Comments
 (0)