code: def dispatch_request(self):
          # type: () -> Response
          
          if flask_request.method != "POST":
              raise exceptions.MethodNotAllowed()
  
          try:
              content = flask_request.data.decode(
                  verifier_constants.CHARACTER_ENCODING)
              response = self._webservice_handler.verify_request_and_dispatch(
                  http_request_headers=flask_request.headers,
                  http_request_body=content)
  
              return jsonify(response)
          except VerificationException:
              current_app.logger.error(
                  "Request verification failed", exc_info=True)
              raise exceptions.BadRequest(
                  description="Incoming request failed verification")
          except AskSdkException:
              current_app.logger.error(
                  "Skill dispatch exception", exc_info=True)
              raise exceptions.InternalServerError(
                  description="Exception occurred during skill dispatch")
docs: Method that handles request verification and routing.
  
          This method can be used as a function to register on the URL
          rule. The request is verified through the registered list of
          verifiers, before invoking the request handlers. The method
          returns a JSON response for the Alexa service to respond to the
          request.
  
          :return: The skill response for the input request
          :rtype: flask.Response
          :raises: :py:class:`werkzeug.exceptions.MethodNotAllowed` if the
              method is invoked for other than HTTP POST request.
              :py:class:`werkzeug.exceptions.BadRequest` if the
              verification fails.
              :py:class:`werkzeug.exceptions.InternalServerError` for any
              internal exception.