/** * Initializes the Response Handlers Chain (the chain that handles the * out-bound response). Usually the user won't need to override this method, * but <tt>initResponseUserHandlers</tt> instead. */ protected ResponseHandlersChain initResponseHandlersChain() { ResponseHandlersChain handlersChain = new ResponseHandlersChain(); handlersChain.addHandler(createHandler(Responses.class)); handlersChain.addHandler(createHandler(PopulateResponseStatusHandler.class)); handlersChain.addHandler(createHandler(PopulateResponseMediaTypeHandler.class)); if (responseUserHandlers != null) { for (ResponseHandler h : responseUserHandlers) { h.init(properties); handlersChain.addHandler(h); } } handlersChain.addHandler(createHandler(FlushResultHandler.class)); handlersChain.addHandler(createHandler(HeadMethodHandler.class)); logger.trace("Response handlers chain is: {}", handlersChain); //$NON-NLS-1$ return handlersChain; }
protected RequestHandlersChain initRequestHandlersChain() { RequestHandlersChain handlersChain = new RequestHandlersChain(); handlersChain.addHandler(createHandler(Requests.class)); handlersChain.addHandler(createHandler(ResourceInvocation.class)); handlersChain.addHandler(createHandler(SearchResultHandler.class)); String optionsHandler = properties.getProperty("org.apache.wink.server.options.handler", handlersChain.addHandler(createHandler((Class<? extends RequestHandler>)Class .forName(optionsHandler))); } catch (Exception e) { logger.trace("Could not load handlers class so adding default"); handlersChain.addHandler(createHandler(OptionsMethodHandler.class)); handlersChain.addHandler(createHandler(HeadMethodHandler.class)); handlersChain.addHandler(createHandler(FindRootResourceHandler.class)); handlersChain.addHandler(createHandler(FindResourceMethodHandler.class)); handlersChain.addHandler(createHandler(CreateInvocationParametersHandler.class)); if (requestUserHandlers != null) { for (RequestHandler h : requestUserHandlers) { handlersChain.addHandler(createHandler(InvokeMethodHandler.class)); logger.trace("Request handlers chain is: {}", handlersChain); //$NON-NLS-1$ return handlersChain;
/** * Initializes the Error Handlers Chain (the chain that handles the * exceptions). Usually the user won't need to override this method, but * <tt>initErrorUserHandlers</tt> instead. */ protected ResponseHandlersChain initErrorHandlersChain() { ResponseHandlersChain handlersChain = new ResponseHandlersChain(); Responses responsesHandler = createHandler(Responses.class); responsesHandler.setIsErrorFlow(true); handlersChain.addHandler(responsesHandler); handlersChain.addHandler(createHandler(PopulateErrorResponseHandler.class)); handlersChain.addHandler(createHandler(PopulateResponseStatusHandler.class)); PopulateResponseMediaTypeHandler populateMediaTypeHandler = createHandler(PopulateResponseMediaTypeHandler.class); populateMediaTypeHandler.setErrorFlow(true); handlersChain.addHandler(populateMediaTypeHandler); if (errorUserHandlers != null) { for (ResponseHandler h : errorUserHandlers) { h.init(properties); handlersChain.addHandler(h); } } handlersChain.addHandler(createHandler(FlushResultHandler.class)); logger.trace("Error handlers chain is: {}", handlersChain); //$NON-NLS-1$ return handlersChain; }