code: def call(self, req, props=None):
          
          resp = None
  
          if self.log.isEnabledFor(logging.DEBUG):
              self.log.debug("Request: %s" % str(req))
  
          if isinstance(req, list):
              if len(req) < 1:
                  resp = err_response(None, ERR_INVALID_REQ, "Invalid Request. Empty batch.")
              else:
                  resp = [ ]
                  for r in req:
                      resp.append(self._call_and_format(r, props))
          else:
              resp = self._call_and_format(req, props)
  
          if self.log.isEnabledFor(logging.DEBUG):
              self.log.debug("Response: %s" % str(resp))
          return resp
docs: Executes a Barrister request and returns a response.  If the request is a list, then the
          response will also be a list.  If the request is an empty list, a RpcException is raised.
  
          :Parameters:
            req
              The request. Either a list of dicts, or a single dict.
            props
              Application defined properties to set on RequestContext for use with filters. 
              For example: authentication headers.  Must be a dict.