def handle_request_string(self, request_string, **context):
        """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
        """

        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
                    )
                )
            )
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