code: def handle_request_string(self, request_string, **context):
          
  
          ds = self._data_serializer
  
          try:
              requests, is_batch_mode = ds.parse_request(request_string)
          except errors.RPCFault as ex:
              return ds.json_dumps(ds.assemble_error_response(ex))
          except Exception as ex:
              return ds.json_dumps(ds.assemble_error_response(
                  errors.RPCInternalError(
                      'While processing the follwoing message "%s" ' % request_string +\
                      'encountered the following error message "%s"' % ex.message
                  )
              ))
  
          responses = self.process_requests(requests, **context)
  
          if not responses:
              return None
  
          try:
              if is_batch_mode:
                  return ds.json_dumps(responses)
              else:
                  return ds.json_dumps(responses[0])
          except Exception as ex:
              return json.dumps(
                  ds.assemble_error_response(
                      errors.RPCInternalError(
                          'While processing the follwoing message "%s" ' % request_string +\
                          'encountered the following error message "%s"' % ex.message
                      )
                  )
              )
docs: Handle a RPC-Request.
  
          :param request_string: the received rpc-string
          :param context:
              A dict with additional parameters passed to process_requests and process_method
              Allows wrapping code to pass additional parameters deep into parsing stack, override process_method
              method and fold the parameters as needed into tha method call.
              Imagine capturing authentication / permissions data from headers, converting them into
              actionable / flag objects and putting them into **context.
              Then override this method and fold the arguments into the call
              (which may be a decorated function, where decorator unfolds the params and calls the actual method)
              By default, context is not passed to method call below.
          :return: the encoded (serialized as string) JSON of the response