/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.camel.component.jetty; import org.apache.camel.Exchange; import org.apache.camel.spi.HeaderFilterStrategy; /** * Jetty specific binding to parse the response when using {@link org.apache.camel.component.jetty.JettyHttpProducer} * * @version */ public interface JettyHttpBinding { /** * Parses the response from the Jetty client. * * @param exchange the Exchange which to populate with the response * @param httpExchange the response from the Jetty client * @throws Exception is thrown if error parsing response */ void populateResponse(Exchange exchange, JettyContentExchange httpExchange) throws Exception; /** * Gets the header filter strategy * * @return the strategy */ HeaderFilterStrategy getHeaderFilterStrategy(); /** * Sets the header filter strategy to use. * <p/> * Will default use {@link org.apache.camel.http.common.HttpHeaderFilterStrategy} * * @param headerFilterStrategy the custom strategy */ void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy); /** * Whether to throw {@link org.apache.camel.http.common.HttpOperationFailedException} * in case of response code != 200. * * @param throwExceptionOnFailure <tt>true</tt> to throw exception */ void setThrowExceptionOnFailure(boolean throwExceptionOnFailure); /** * Whether to throw {@link org.apache.camel.http.common.HttpOperationFailedException} * in case of response code != 200. * * @return <tt>true</tt> to throw exception */ boolean isThrowExceptionOnFailure(); /** * Whether to transfer exception back as a serialized java object * if processing failed due to an exception * <p/> * This is by default turned off. If you enable this then be aware that Java will deserialize the incoming * data from the request to Java and that can be a potential security risk. * * @param transferException <tt>true</tt> to transfer exception */ void setTransferException(boolean transferException); /** * Whether to transfer exception back as a serialized java object * if processing failed due to an exception * <p/> * This is by default turned off. If you enable this then be aware that Java will deserialize the incoming * data from the request to Java and that can be a potential security risk. * * @return <tt>true</tt> to transfer exception */ boolean isTransferException(); /** * Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object * <p/> * This is by default turned off. If you enable this then be aware that Java will deserialize the incoming * data from the request to Java and that can be a potential security risk. * * @param allowJavaSerializedObject <tt>true</tt> to allow serializing java objects */ void setAllowJavaSerializedObject(boolean allowJavaSerializedObject); /** * Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object * <p/> * This is by default turned off. If you enable this then be aware that Java will deserialize the incoming * data from the request to Java and that can be a potential security risk. */ boolean isAllowJavaSerializedObject(); /** * The status codes which is considered a success response. The values are inclusive. The range must be defined as from-to with the dash included. * <p/> * The default range is <tt>200-299</tt> */ String getOkStatusCodeRange(); /** * The status codes which is considered a success response. The values are inclusive. The range must be defined as from-to with the dash included. * <p/> * The default range is <tt>200-299</tt> */ void setOkStatusCodeRange(String okStatusCodeRange); }