Request::convertUploadedFiles()   B
last analyzed

Complexity

Conditions 5
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 30

Importance

Changes 0
Metric Value
cc 5
eloc 8
nc 1
nop 1
dl 0
loc 12
ccs 0
cts 7
cp 0
crap 30
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
namespace Laravoole\Illuminate;
4
5
use Illuminate\Http\Request as IlluminateRequest;
6
use Illuminate\Http\UploadedFile;
7
use Closure;
8
9
class Request extends IlluminateRequest
10
{
11
    protected $laravooleInfo;
12
13 8
    public function setLaravooleInfo($info)
14
    {
15 8
        if (!isset($this->laravooleInfo)) {
16 8
            $this->laravooleInfo = (object) $info;
17 4
        } else {
18
            foreach ($info as $k => $v) {
19
                $this->laravooleInfo->$k = $v;
20
            }
21
        }
22 8
    }
23
24 8
    public function getLaravooleInfo()
25
    {
26 8
        return $this->laravooleInfo;
27
    }
28
29 4
    public function forceNextMessageRoute($method, $params = [])
30
    {
31 4
        $this->laravooleInfo->nextMessageRoute = [
32 4
            'method' => $method,
33 4
            'params' => $params,
34 4
            'previous' => $this,
35
        ];
36 4
    }
37
38
    protected function convertUploadedFiles(array $files)
39
    {
40
        return array_map(function ($file) {
41
            if (is_null($file) || (is_array($file) && empty(array_filter($file)))) {
42
                return $file;
43
            }
44
45
            return is_array($file)
46
                        ? $this->convertUploadedFiles($file)
47
                        : UploadedFile::createFromBase($file, true);
48
        }, $files);
49
    }
50
51
}
52