docs: def validate_request(self,
                           data: Any,
                           *additional: AnyMapping,
                           merged_class: Type[dict] = dict) -> Any:
          r"""Validate request data against request schema from module.
  
          :param data: Request data.
          :param \*additional:
              Additional data dicts to be merged with base request data.
          :param merged_class:
              When additional data dicts supplied method by default will return
              merged **dict** with all data, but you can customize things to
              use read-only dict or any other additional class or callable.
          """
          request_schema = getattr(self.module, 'request', None)
          if request_schema is None:
              logger.error(
                  'Request schema should be defined',
                  extra={'schema_module': self.module,
                         'schema_module_attrs': dir(self.module)})
              raise self.make_error('Request schema should be defined')
  
          # Merge base and additional data dicts, but only if additional data
          # dicts have been supplied
          if isinstance(data, dict) and additional:
              data = merged_class(self._merge_data(data, *additional))
  
          try:
              self._validate(data, request_schema)
          finally:
              self._valid_request = False
  
          self._valid_request = True
  
          processor = getattr(self.module, 'request_processor', None)
          return processor(data) if processor else data