) -&gt; BoltResponse:
        if self._can_skip(req.mode, req.body):
            return await next()

        body = req.raw_body
        timestamp = req.headers.get(&#34;x-slack-request-timestamp&#34;, [&#34;0&#34;])[0]
        signature = req.headers.get(&#34;x-slack-signature&#34;, [&#34;&#34;])[0]
        if self.verifier.is_valid(body, timestamp, signature):
            return await next()
        else:
            self._debug_log_error(signature, timestamp, body)
            return self._build_error_r