Description
According to JAX-RS2.0 javadoc:
Invoking a cancel(...) method multiple times to cancel request processing has the same effect as canceling the request processing only once. Invoking a cancel(...) method on an asynchronous response instance that has already been cancelled or resumed has no effect and the method call is ignored while returning true, in case the request has been cancelled previously.
But current implementation of AsyncResponseImpl.cancel() return false when response instance has already been cancelled or resumed.
In method doCancel, found:
private synchronized boolean doCancel(String retryAfterHeader) {
if (!isSuspended()) {
return false;