Code Duplication    Length = 18-18 lines in 2 locations

src/PhpJsonRpc/Server/RequestParser.php 2 locations

@@ 74-91 (lines=18) @@
71
     * @param array $payload
72
     * @return bool
73
     */
74
    private function isValidCall($payload): bool
75
    {
76
        if (!is_array($payload)) {
77
            return false;
78
        }
79
80
        $headerValid = array_key_exists('jsonrpc', $payload) && $payload['jsonrpc'] === '2.0';
81
        $methodValid = array_key_exists('method', $payload)  && is_string($payload['method']);
82
        $idValid     = array_key_exists('id', $payload);
83
84
        // This member MAY be omitted
85
        $paramsValid = true;
86
        if (array_key_exists('params', $payload) && !is_array($payload['params'])) {
87
            $paramsValid = false;
88
        }
89
90
        return $headerValid && $methodValid && $paramsValid && $idValid;
91
    }
92
93
    /**
94
     * @param array $payload
@@ 97-114 (lines=18) @@
94
     * @param array $payload
95
     * @return bool
96
     */
97
    private function isValidNotification($payload): bool
98
    {
99
        if (!is_array($payload)) {
100
            return false;
101
        }
102
103
        $headerValid = array_key_exists('jsonrpc', $payload) && $payload['jsonrpc'] === '2.0';
104
        $methodValid = array_key_exists('method', $payload)  && is_string($payload['method']);
105
        $idValid     = !array_key_exists('id', $payload);
106
107
        // This member MAY be omitted
108
        $paramsValid = true;
109
        if (array_key_exists('params', $payload) && !is_array($payload['params'])) {
110
            $paramsValid = false;
111
        }
112
113
        return $headerValid && $methodValid && $paramsValid && $idValid;
114
    }
115
}
116