/** * Invokes the filter with the context. * * @param context The proxy context. */ public void invoke(ProxyContext context) { try { if (next != null) { next.invoke(context); } } catch (MessageException ex) { throw ex; } catch (Throwable ex) { throw new MessageException(ex); } finally { try { if (context.getHttpMethod() != null) { // we don't want to keep the connection open if authentication info was sent if (context.hasAuthorization()) { if (context.getHttpMethod() instanceof FlexGetMethod) { ((FlexGetMethod) context.getHttpMethod()).setConnectionForced(true); } else if (context.getHttpMethod() instanceof FlexPostMethod) { ((FlexPostMethod) context.getHttpMethod()).setConnectionForced(true); } else { Assert.testAssertion( false, "Should have custom Flex method: " + context.getHttpMethod().getClass()); } } context.getHttpMethod().releaseConnection(); } } catch (Exception e) { if (Trace.error) e.printStackTrace(); } } }