Completed
Push — master ( bd4d42...ab4ca0 )
by Frank
03:25
created

JsHttpMimeDBMimeTypeProvider   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 8
dl 0
loc 17
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace League\MimeTypeDetection\Generation;
6
7
class JsHttpMimeDBMimeTypeProvider implements MimeTypeProvider
8
{
9
    public function provideMimeTypes(): array
10
    {
11
        $result = [];
12
        $aggregated = (string) @file_get_contents('https://raw.githubusercontent.com/jshttp/mime-db/master/db.json');
13
14
        foreach (json_decode($aggregated, true) as $mimeType => $information) {
15
            /** @var string[] $extensions */
16
            $extensions = $information['extensions'] ?? [];
17
18
            foreach ($extensions as $extension) {
19
                $result[] = new MimeTypeForExtension($mimeType, $extension);
20
            }
21
        }
22
23
        return $result;
24
    }
25
}
26