def handle(self, request_headers={}, signature_header=None):
        """Handle request."""
        if self.client.webhook_secret is None:
            raise ValueError('Error: no webhook secret.')
        encoded_header = self._get_signature_header(signature_header, request_headers)
        decoded_request = self._decode_request(encoded_header)
        if 'type' not in decoded_request:
            raise ValueError("Error invalid request: no type field found.")
        handler = self._getHandlerForEvent(decoded_request['type'])
        if handler is None:
            return
        if (self._get_fct_number_of_arg(handler) == 1):
            handler(decoded_request)
            return
        handler(decoded_request, decoded_request['type'])