[websocket] WebSocket proxy should return status code depending on type of PulsarClientException #9031
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
If the WebSocket proxy fails to create a producer or consumer, it should return the suitable HTTP status code to the client depending on the type of
PulsarClientException
that occurred. However, there are currently only a few exceptions where the WebSocket proxy returns a status code other than 500.pulsar/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ProducerHandler.java
Lines 119 to 129 in 7be1b8d
Modifications
Moved the
getErrorCode()
method fromProducerHandler
andConsumerHandler
toAbstractWebSocketHandler
and increased the types ofPulsarClientException
to handle.