diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py --- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py 2019-06-27 18:42:22.000000000 +0300 +++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py 2019-11-02 23:24:59.407851208 +0200 @@ -98,7 +98,7 @@ class Endpoint(object): message (dict): The JSON RPC message sent by the client """ if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION: - log.warn("Unknown message type %s", message) + log.warning("Unknown message type %s", message) return if 'id' not in message: @@ -135,7 +135,7 @@ class Endpoint(object): try: handler = self._dispatcher[method] except KeyError: - log.warn("Ignoring notification for unknown method %s", method) + log.warning("Ignoring notification for unknown method %s", method) return try: @@ -165,7 +165,7 @@ class Endpoint(object): request_future = self._client_request_futures.pop(msg_id, None) if not request_future: - log.warn("Received cancel notification for unknown message id %s", msg_id) + log.warning("Received cancel notification for unknown message id %s", msg_id) return # Will only work if the request hasn't started executing @@ -230,12 +230,13 @@ class Endpoint(object): request_future = self._server_request_futures.pop(msg_id, None) if not request_future: - log.warn("Received response to unknown message id %s", msg_id) + log.warning("Received response to unknown message id %s", msg_id) return if error is not None: log.debug("Received error response to message %s: %s", msg_id, error) request_future.set_exception(JsonRpcException.from_dict(error)) + return log.debug("Received result for message %s: %s", msg_id, result) request_future.set_result(result) diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py --- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py 2019-06-27 18:42:22.000000000 +0300 +++ python-jsonrpc-server-0.2.0/test/test_endpoint.py 2019-11-02 23:24:21.033838729 +0200 @@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum 'params': {'id': MSG_ID} }) - with pytest.raises(exceptions.JsonRpcException) as exc_info: + with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info: assert future.result(timeout=2) - assert exc_info.type == exceptions.JsonRpcRequestCancelled + assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError) def test_consume_notification(endpoint, dispatcher):