Test Setup Failed
Push — master ( fc46a7...5a8c02 )
by Php Easy Api
03:40
created

TrackLogger::__construct()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 2 Features 0
Metric Value
cc 2
eloc 5
c 2
b 2
f 0
nc 2
nop 3
dl 0
loc 10
rs 10
1
<?php
2
3
namespace Resta\Support;
4
5
use Resta\Contracts\ApplicationContracts;
6
use Resta\Foundation\ApplicationProvider;
7
8
class TrackLogger extends ApplicationProvider
9
{
10
    /**
11
     * @var null|array
12
     */
13
    protected $output;
14
15
    /**
16
     * @var null|array
17
     */
18
    protected $arguments;
19
20
    /**
21
     * TrackLogger constructor.
22
     * @param ApplicationContracts $app
23
     * @param $output
24
     * @param $arguments
25
     */
26
    public function __construct(ApplicationContracts $app,$output,$arguments)
27
    {
28
        parent::__construct($app);
29
30
        if(!$this->app->runningInConsole()){
31
            exception()->runtime('Console application is missing');
32
        }
33
34
        $this->output = $output;
35
        $this->arguments = $arguments;
36
    }
37
38
    /**
39
     * track logger handle
40
     *
41
     * @return mixed
42
     */
43
    public function handle()
44
    {
45
        if(isset($this->arguments['filter'])){
46
47
            $filterResult = [];
48
            $filter = lcfirst($this->arguments['filter']);
49
50
            foreach (explode('+',$filter) as $item){
51
                $itemList = explode('=',$item);
52
                if(isset($this->output[$itemList[0]]) && $this->output[$itemList[0]]==$itemList[1]){
53
                    $filterResult[] = true;
54
                }
55
                else{
56
                    $filterResult[] = false;
57
                }
58
            }
59
        }
60
61
        if(!isset($filterResult) || (isset($filterResult) && is_array($filterResult) && !in_array(false,$filterResult))){
62
63
            if($this->output['meta']['success'])
64
            {
65
                echo ''.$this->output['trackNumber'].' - SUCCESS:';
66
                echo PHP_EOL;
67
                echo 'Request Success : true';
68
            }
69
            else{
70
71
                echo ''.$this->output['trackNumber'].' - ERROR:';
72
                echo PHP_EOL;
73
                echo 'Error: '.$this->output['resource']['errorMessage'];
74
                echo PHP_EOL;
75
                echo 'Error File: '.$this->output['resource']['errorFile'];
76
                echo PHP_EOL;
77
                echo 'Error Line: '.$this->output['resource']['errorLine'];
78
                echo PHP_EOL;
79
                echo 'Error Type: '.$this->output['resource']['errorType'];
80
            }
81
82
            echo PHP_EOL;
83
            echo 'Request Code: '.$this->output['meta']['status'];
84
85
            echo PHP_EOL;
86
            $requestClientIp = (isset($this->output['clientIp'])) ? $this->output['clientIp'] : null;
87
            echo 'Client Ip: '.$requestClientIp ;
88
89
            echo PHP_EOL;
90
            $requestEndpoint = (isset($this->output['requestUrl'])) ? $this->output['requestUrl'] : null;
91
            echo 'Endpoint: '.$requestEndpoint;
92
93
            echo PHP_EOL;
94
            echo 'Get Data: '.json_encode(isset($this->output['getData']) ? $this->output['getData'] : []);
95
96
            echo PHP_EOL;
97
            echo 'Post Data: '.json_encode(isset($this->output['postData']) ? $this->output['postData'] : []);
98
99
            echo PHP_EOL;
100
            $requestAuth = (isset($this->output['auth'])) ? $this->output['auth'] : null;
101
            echo 'Auth: '.$requestAuth;
102
103
            echo PHP_EOL;
104
            echo 'Time: '.date('Y-m-d H:i:s');
105
106
            echo PHP_EOL;
107
            $requestClientKey = (isset($this->output['clientApiTokenKey'])) ? $this->output['clientApiTokenKey'] : null;
108
            echo 'Client Key: '.$requestClientKey;
109
110
            echo PHP_EOL;
111
            echo PHP_EOL;
112
        }
113
114
115
    }
116
}