UploadException::getRequest()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
nc 1
cc 1
nop 0
1
<?php
2
3
namespace STS\StorageConnect\Exceptions;
4
5
use STS\StorageConnect\Models\CloudStorage;
6
use STS\StorageConnect\UploadRequest;
7
use Throwable;
8
9
/**
10
 * Class UploadException
11
 * @package STS\StorageConnect\Exceptions
12
 */
13
class UploadException extends \RuntimeException
14
{
15
    /**
16
     * @var bool
17
     */
18
    protected $retry = false;
19
20
    /**
21
     * @var bool
22
     */
23
    protected $disable = false;
24
25
    /**
26
     * @var string
27
     */
28
    protected $reason;
29
30
    /**
31
     * @var CloudStorage
32
     */
33
    protected $storage;
34
35
    /**
36
     * @var UploadRequest
37
     */
38
    protected $request;
39
40
    public function __construct(UploadRequest $request, $previous = null, $message = null)
41
    {
42
        $this->request = $request;
43
        parent::__construct($message, null, $previous);
44
    }
45
46
    /**
47
     * @param $message
48
     *
49
     * @return $this
50
     */
51
    public function message ( $message )
52
    {
53
        $this->message = $message;
54
55
        return $this;
56
    }
57
58
    /**
59
     * @param $message
60
     *
61
     * @return $this
62
     */
63
    public function retry( $message )
64
    {
65
        $this->retry = true;
66
        $this->message = $message;
67
68
        return $this;
69
    }
70
71
    /**
72
     * @param $message
73
     * @param null $reason
74
     *
75
     * @return $this
76
     */
77
    public function disable( $message, $reason = null)
78
    {
79
        $this->disable = true;
80
        $this->message = $message;
81
        $this->reason = $reason;
82
83
        return $this;
84
    }
85
86
    /**
87
     * @return UploadRequest
88
     */
89
    public function getRequest()
90
    {
91
        return $this->request;
92
    }
93
94
    /**
95
     * @param CloudStorage $storage
96
     */
97
    public function setStorage(CloudStorage $storage)
98
    {
99
        $this->storage = $storage;
100
    }
101
102
    /**
103
     * @return bool
104
     */
105
    public function shouldRetry()
106
    {
107
        return $this->retry;
108
    }
109
110
    /**
111
     * @return bool
112
     */
113
    public function shouldDisable()
114
    {
115
        return $this->disable;
116
    }
117
118
    /**
119
     * @return string
120
     */
121
    public function getReason()
122
    {
123
        return $this->reason;
124
    }
125
}