ExecuteResponse   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
dl 0
loc 22
c 0
b 0
f 0
wmc 3
lcom 0
cbo 4
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A factory() 0 11 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
}