/* * 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.coyote.ajp;
/** * The is the base implementation for the AJP protocol handlers. Implementations typically extend this base class rather * than implement {@link org.apache.coyote.ProtocolHandler}. All of the implementations that ship with Tomcat are * implemented this way. * * @param <S> The type of socket used by the implementation
*/ publicabstractclass AbstractAjpProtocol<S> extends AbstractProtocol<S> {
/** * The string manager for this package.
*/ protectedstaticfinal StringManager sm = StringManager.getManager(AbstractAjpProtocol.class);
public AbstractAjpProtocol(AbstractEndpoint<S, ?> endpoint) { super(endpoint);
setConnectionTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); // AJP does not use Send File
getEndpoint().setUseSendfile(false); // AJP listens on loopback by default
getEndpoint().setAddress(InetAddress.getLoopbackAddress());
}
/** * {@inheritDoc} Overridden to make getter accessible to other classes in this package.
*/
@Override protected AbstractEndpoint<S, ?> getEndpoint() { returnsuper.getEndpoint();
}
/** * {@inheritDoc} AJP does not support protocol negotiation so this always returns null.
*/
@Override protected UpgradeProtocol getNegotiatedProtocol(String name) { returnnull;
}
/** * {@inheritDoc} AJP does not support protocol upgrade so this always returns null.
*/
@Override protected UpgradeProtocol getUpgradeProtocol(String name) { returnnull;
}
// ------------------------------------------------- AJP specific properties // ------------------------------------------ managed in the ProtocolHandler
privateboolean ajpFlush = true;
publicboolean getAjpFlush() { return ajpFlush;
}
/** * Configure whether to aend an AJP flush packet when flushing. A flush packet is a zero byte AJP13 SEND_BODY_CHUNK * packet. mod_jk and mod_proxy_ajp interpret this as a request to flush data to the client. AJP always does flush * at the and of the response, so if it is not important, that the packets get streamed up to the client, do not use * extra flush packets. For compatibility and to stay on the safe side, flush packets are enabled by default. * * @param ajpFlush The new flush setting
*/ publicvoid setAjpFlush(boolean ajpFlush) { this.ajpFlush = ajpFlush;
}
privateboolean tomcatAuthentication = true;
/** * Should authentication be done in the native web server layer, or in the Servlet container ? * * @return {@code true} if authentication should be performed by Tomcat, otherwise {@code false}
*/ publicboolean getTomcatAuthentication() { return tomcatAuthentication;
}
/** * Should authentication be done in the native web server layer and authorization in the Servlet container? * * @return {@code true} if authorization should be performed by Tomcat, otherwise {@code false}
*/ publicboolean getTomcatAuthorization() { return tomcatAuthorization;
}
/** * Set the secret that must be included with every request. * * @param secret The required secret
*/ publicvoid setSecret(String secret) { this.secret = secret;
}
protected String getSecret() { return secret;
}
/** * Set the required secret that must be included with every request. * * @param requiredSecret The required secret * * @deprecated Replaced by {@link #setSecret(String)}. Will be removed in Tomcat 11 onwards
*/
@Deprecated publicvoid setRequiredSecret(String requiredSecret) {
setSecret(requiredSecret);
}
/** * @return The current secret * * @deprecated Replaced by {@link #getSecret()}. Will be removed in Tomcat 11 onwards
*/
@Deprecated protected String getRequiredSecret() { return getSecret();
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.31Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.