Browse Source

Don't return icons without types at all

rpm
J. King 3 years ago
parent
commit
ad094f5217
  1. 6
      lib/REST/Miniflux/V1.php
  2. 4
      tests/cases/REST/Miniflux/TestV1.php

6
lib/REST/Miniflux/V1.php

@ -814,13 +814,13 @@ class V1 extends \JKingWeb\Arsse\REST\AbstractHandler {
} catch (ExceptionInput $e) { } catch (ExceptionInput $e) {
return new ErrorResponse("404", 404); return new ErrorResponse("404", 404);
} }
if (!$icon || !$icon['data']) { if (!$icon || !$icon['type'] || !$icon['data']) {
return new ErrorResponse("404", 404); return new ErrorResponse("404", 404);
} }
return new Response([ return new Response([
'id' => $icon['id'], 'id' => $icon['id'],
'data' => ($icon['type'] ?: "application/octet-stream").";base64,".base64_encode($icon['data']), 'data' => $icon['type'].";base64,".base64_encode($icon['data']),
'mime_type' => ($icon['type'] ?: "application/octet-stream"), 'mime_type' => $icon['type'],
]); ]);
} }

4
tests/cases/REST/Miniflux/TestV1.php

@ -741,8 +741,8 @@ class TestV1 extends \JKingWeb\Arsse\Test\AbstractTest {
self::clearData(); self::clearData();
return [ return [
[['id' => 44, 'type' => "image/svg+xml", 'data' => "<svg/>"], new Response(['id' => 44, 'data' => "image/svg+xml;base64,PHN2Zy8+", 'mime_type' => "image/svg+xml"])], [['id' => 44, 'type' => "image/svg+xml", 'data' => "<svg/>"], new Response(['id' => 44, 'data' => "image/svg+xml;base64,PHN2Zy8+", 'mime_type' => "image/svg+xml"])],
[['id' => 47, 'type' => "", 'data' => "<svg/>"], new Response(['id' => 47, 'data' => "application/octet-stream;base64,PHN2Zy8+", 'mime_type' => "application/octet-stream"])], [['id' => 47, 'type' => "", 'data' => "<svg/>"], new ErrorResponse("404", 404)],
[['id' => 47, 'type' => null, 'data' => "<svg/>"], new Response(['id' => 47, 'data' => "application/octet-stream;base64,PHN2Zy8+", 'mime_type' => "application/octet-stream"])], [['id' => 47, 'type' => null, 'data' => "<svg/>"], new ErrorResponse("404", 404)],
[['id' => 47, 'type' => null, 'data' => null], new ErrorResponse("404", 404)], [['id' => 47, 'type' => null, 'data' => null], new ErrorResponse("404", 404)],
[null, new ErrorResponse("404", 404)], [null, new ErrorResponse("404", 404)],
[new ExceptionInput("subjectMissing"), new ErrorResponse("404", 404)], [new ExceptionInput("subjectMissing"), new ErrorResponse("404", 404)],

Loading…
Cancel
Save