CachedStream::__construct()   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
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Concat\Http\Handler;
4
5
use BadMethodCallException;
6
use Psr\Http\Message\StreamInterface;
7
8
/**
9
 * A stream that wraps around a string value.
10
 */
11
class CachedStream implements StreamInterface
12
{
13
    /**
14
     * @var string $content
15
     */
16
    private $content;
17
18
    public function __construct($content)
19
    {
20
        $this->content = $content;
21
    }
22
23
    /**
24
     * @inheritDoc
25
     */
26
    public function __toString()
27
    {
28
        return $this->content;
29
    }
30
31
    /**
32
     * @inheritDoc
33
     */
34
    public function rewind()
35
    {
36
        throw new BadMethodCallException();
37
    }
38
39
    /**
40
     * @inheritDoc
41
     */
42
    public function close()
43
    {
44
        throw new BadMethodCallException();
45
    }
46
47
    /**
48
     * @inheritDoc
49
     */
50
    public function detach()
51
    {
52
        throw new BadMethodCallException();
53
    }
54
55
    /**
56
     * @inheritDoc
57
     */
58
    public function attach($stream)
0 ignored issues
show
Unused Code introduced by
The parameter $stream is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
59
    {
60
        throw new BadMethodCallException();
61
    }
62
63
    /**
64
     * @inheritDoc
65
     */
66
    public function getSize()
67
    {
68
        return strlen($this->content);
69
    }
70
71
    /**
72
     * @inheritDoc
73
     */
74
    public function tell()
75
    {
76
        throw new BadMethodCallException();
77
    }
78
79
    /**
80
     * @inheritDoc
81
     */
82
    public function eof()
83
    {
84
        throw new BadMethodCallException();
85
    }
86
87
    /**
88
     * @inheritDoc
89
     */
90
    public function isSeekable()
91
    {
92
        return false;
93
    }
94
95
    /**
96
     * @inheritDoc
97
     */
98
    public function seek($offset, $whence = SEEK_SET)
99
    {
100
        throw new BadMethodCallException();
101
    }
102
103
    /**
104
     * @inheritDoc
105
     */
106
    public function isWritable()
107
    {
108
        return false;
109
    }
110
111
    /**
112
     * @inheritDoc
113
     */
114
    public function write($string)
115
    {
116
        throw new BadMethodCallException();
117
    }
118
119
    /**
120
     * @inheritDoc
121
     */
122
    public function isReadable()
123
    {
124
        return true;
125
    }
126
127
    /**
128
     * @inheritDoc
129
     */
130
    public function read($length)
131
    {
132
        return substr($this->content, 0, $length);
133
    }
134
135
    /**
136
     * @inheritDoc
137
     */
138
    public function getContents()
139
    {
140
        return $this->content;
141
    }
142
143
    /**
144
     * @inheritDoc
145
     */
146
    public function getMetadata($key = null)
147
    {
148
        throw new BadMethodCallException();
149
    }
150
}
151