Skip to content

Commit ea0a4fc

Browse files
committed
Minor changes on previous commit.
1 parent b9bf3f8 commit ea0a4fc

File tree

2 files changed

+34
-29
lines changed

2 files changed

+34
-29
lines changed

providers/grizzly/src/main/java/org/asynchttpclient/providers/grizzly/EventHandler.java

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -378,39 +378,48 @@ public boolean onHttpPacketParsed(HttpHeader httpHeader, FilterChainContext ctx)
378378
}
379379

380380
result = false;
381-
381+
final HttpResponsePacket response =
382+
(HttpResponsePacket) httpHeader;
382383
final HttpTransactionContext context = HttpTransactionContext.get(ctx.getConnection());
383-
if (context.isEstablishingTunnel()
384-
&& HttpStatus.OK_200.statusMatches(
385-
((HttpResponsePacket) httpHeader).getStatus())) {
386-
context.setEstablishingTunnel(false);
387-
final Connection c = ctx.getConnection();
388-
context.tunnelEstablished(c);
389-
context.getProvider().execute(c,
390-
context.getRequest(),
391-
context.getHandler(),
392-
context.getFuture());
393-
return result;
394-
} else {
395-
cleanup(ctx);
396-
final AsyncHandler handler = context.getHandler();
397-
if (handler != null) {
398-
try {
399-
context.result(handler.onCompleted());
400-
} catch (Exception e) {
401-
context.abort(e);
402-
}
384+
try {
385+
if (context.isEstablishingTunnel()
386+
&& HttpStatus.OK_200.statusMatches(response.getStatus())) {
387+
context.setEstablishingTunnel(false);
388+
final Connection c = ctx.getConnection();
389+
context.tunnelEstablished(c);
390+
context.getProvider().execute(c,
391+
context.getRequest(),
392+
context.getHandler(),
393+
context.getFuture());
394+
return result;
403395
} else {
404-
context.done(null);
396+
cleanup(ctx);
397+
final AsyncHandler handler = context.getHandler();
398+
if (handler != null) {
399+
try {
400+
context.result(handler.onCompleted());
401+
} catch (Exception e) {
402+
context.abort(e);
403+
}
404+
} else {
405+
context.done(null);
406+
}
407+
return result;
405408
}
406-
407-
return result;
409+
} finally {
410+
recycleResponsePacket(response);
408411
}
412+
409413
}
410414

411415

412416
// ----------------------------------------------------- Private Methods
413417

418+
private static void recycleResponsePacket(final HttpResponsePacket response) {
419+
response.getRequest().setExpectContent(false);
420+
response.recycle();
421+
}
422+
414423
private static void processKeepAlive(final Connection c,
415424
final HttpHeader header) {
416425
final ProcessingState state = header.getProcessingState();

providers/grizzly/src/main/java/org/asynchttpclient/providers/grizzly/filters/AsyncHttpClientEventFilter.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,7 @@ protected void onHttpHeadersParsed(HttpHeader httpHeader, FilterChainContext ctx
8282

8383
@Override
8484
protected boolean onHttpPacketParsed(HttpHeader httpHeader, FilterChainContext ctx) {
85-
boolean result = eventHandler.onHttpPacketParsed(httpHeader, ctx);
86-
HttpResponsePacket response = (HttpResponsePacket) httpHeader;
87-
response.getRequest().setExpectContent(false);
88-
response.recycle();
89-
return result;
85+
return eventHandler.onHttpPacketParsed(httpHeader, ctx);
9086
}
9187

9288
@Override

0 commit comments

Comments
 (0)