ExecuteResponse::factory()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
c 0
b 0
f 0
rs 9.4285
cc 3
eloc 7
nc 3
nop 3
1
<?php
2
3
namespace Preetender\Routing\Response;
4
use Illuminate\Http\Request;
5
use Illuminate\Http\Response;
6
use Preetender\Routing\RouteResponse;
7
8
/**
9
 * Class ExecuteResponse
10
 * @package Preetender\Routing\Response
11
 */
12
final class ExecuteResponse
13
{
14
    /**
15
     * Response to request
16
     *
17
     * @param $typeResponse
18
     * @param Request $request
19
     * @param Response $response
20
     * @return mixed
21
     */
22
    public static function factory($typeResponse, Request $request, Response $response)
23
    {
24
        if(is_bool($typeResponse)) {
25
            return $response->setContent((string)$typeResponse)->send();
26
        }
27
        $baseResponse = RouteResponse::create($typeResponse);
28
        if(is_array($typeResponse)) {
29
            return (new JsonResponse($baseResponse, $request, $response))->render();
30
        }
31
        return (new TextPlainResponse($baseResponse, $request, $response))->render();
32
    }
33
}