/** * Propagate NotFoundException. This is used for Filters * * @param request * @param response */ public void invokePropagateNotFound(HttpRequest request, HttpResponse response) throws NotFoundException { try { pushContextObjects(request, response); try { Response aborted = preprocess(request); if (aborted != null) { try { writeJaxrsResponse(request, response, aborted); } catch (Exception e) { handleWriteResponseException(request, response, e); return; } return; } } catch (Exception e) { handleException(request, response, e); return; } ResourceInvoker invoker = null; try { invoker = getInvoker(request); } catch (Exception failure) { if (failure instanceof NotFoundException) { throw ((NotFoundException) failure); } else { handleException(request, response, failure); return; } } try { invoke(request, response, invoker); } catch (Failure e) { handleException(request, response, e); return; } } finally { clearContextData(); } }
public void invoke(HttpRequest request, HttpResponse response) { try { pushContextObjects(request, response); Response aborted = preprocess(request); if (aborted != null) { try { writeJaxrsResponse(request, response, aborted); } catch (Exception e) { handleWriteResponseException(request, response, e); return; } return; } ResourceInvoker invoker = getInvoker(request); invoke(request, response, invoker); } catch (Failure e) { handleException(request, response, e); return; } finally { clearContextData(); } }
/** * Called if method invoke was successful, but writing the Response after was not. * * @param request * @param response * @param e */ public void handleWriteResponseException( HttpRequest request, HttpResponse response, Exception e) { handleException(request, response, e); }
/** * Called if method invoke was unsuccessful * * @param request * @param response * @param e */ public void handleInvokerException(HttpRequest request, HttpResponse response, Exception e) { handleException(request, response, e); }