code: def dispatch_pure(
      request: str,
      methods: Methods,
      *,
      context: Any,
      convert_camel_case: bool,
      debug: bool,
  ) -> Response:
      
      try:
          deserialized = validate(deserialize(request), schema)
      except JSONDecodeError as exc:
          return InvalidJSONResponse(data=str(exc), debug=debug)
      except ValidationError as exc:
          return InvalidJSONRPCResponse(data=None, debug=debug)
      return call_requests(
          create_requests(
              deserialized, context=context, convert_camel_case=convert_camel_case
          ),
          methods,
          debug=debug,
      )
docs: Pure version of dispatch - no logging, no optional parameters.
  
      Does two things:
          1. Deserializes and validates the string.
          2. Calls each request.
  
      Args:
          request: The incoming request string.
          methods: Collection of methods that can be called.
          context: If specified, will be the first positional argument in all requests.
          convert_camel_case: Will convert the method name/any named params to snake case.
          debug: Include more information in error responses.
      Returns:
          A Response.