Passed
Push — master ( 5e7000...e64928 )
by Marco
05:59
created

Headers::getHeaders()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 17
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 11.5287

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 17
c 0
b 0
f 0
ccs 2
cts 9
cp 0.2222
rs 10
cc 4
nc 4
nop 0
crap 11.5287
1
<?php namespace Comodojo\Dispatcher\Request;
2
3
use \Comodojo\Dispatcher\Traits\HeadersTrait;
4
5
/**
6
 * @package     Comodojo Dispatcher
7
 * @author      Marco Giovinazzi <[email protected]>
8
 * @author      Marco Castiello <[email protected]>
9
 * @license     MIT
10
 *
11
 * LICENSE:
12
 *
13
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
 * THE SOFTWARE.
20
 */
21
22
class Headers {
23
24
    use HeadersTrait;
25
26 5
    public function __construct() {
27
28 5
        $this->headers = self::getHeaders();
29
30 5
    }
31
32
    /**
33
     * Get request headers both in apache and nginx
34
     *
35
     * @return array
36
     */
37 5
    private static function getHeaders() {
38
39 5
        if (function_exists('getallheaders')) return getallheaders();
40
41
        $headers = array();
42
43
        foreach ($_SERVER as $name => $value) {
44
45
            if (substr($name, 0, 5) == 'HTTP_') {
0 ignored issues
show
Coding Style introduced by
Operator == prohibited; use === instead
Loading history...
46
47
                $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
48
49
            }
50
51
        }
52
53
        return $headers;
54
55
    }
56
57
}
58