Ktt-Development/simplehttpserver

Throttled Handler doesn't delete failed handle connections

Katsute opened this issue · 0 comments

Prerequisites

If all checks are not passed then the issue will be closed

  • I have checked that no other similar issue already exists

Operating System: Operating system name and version
Windows 10

Release Version: Release version or branch where the issue occurred
03.05.06

Issue

Explain your issue. Add any screenshots here

If an exception is thrown in #handle the connection will not be deleted, despite being handled. This can cause ghost connections.

@Override
public final void handle(final HttpExchange exchange) throws IOException{
if(throttler.addConnection(exchange)){
handler.handle(exchange);
throttler.deleteConnection(exchange);
}else{
exchange.close();
}
}

Expected Behavior

Explain what was supposed to happen

Connections should be deleted after handle (use a try finally).

Steps To Reproduce

Explain how and/or when the error occurred

Throw an exception in throttled handler.