blob: c268658f19aaa69dc32d17353889841893cb941b [file] [log] [blame]
/*
* 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;
/**
* ActionCodes represent callbacks from the servlet container to the coyote
* connector. Actions are implemented by ProtocolHandler, using the ActionHook
* interface.
*
* @see ProtocolHandler
* @see ActionHook
* @author Remy Maucherat
*/
public enum ActionCode {
ACK,
CLOSE,
COMMIT,
/**
* A flush() operation originated by the client ( i.e. a flush() on the
* servlet output stream or writer, called by a servlet ). Argument is the
* Response.
*/
CLIENT_FLUSH,
CUSTOM,
RESET,
WEBAPP,
/**
* Hook called after request, but before recycling. Can be used for logging,
* to update counters, custom cleanup - the request is still visible
*/
POST_REQUEST,
/**
* Hook called if swallowing request input should be disabled.
* Example: Cancel a large file upload.
*
*/
DISABLE_SWALLOW_INPUT,
/**
* Callback for lazy evaluation - extract the remote host address.
*/
REQ_HOST_ATTRIBUTE,
/**
* Callback for lazy evaluation - extract the remote host infos (address,
* name, port) and local address.
*/
REQ_HOST_ADDR_ATTRIBUTE,
/**
* Callback for lazy evaluation - extract the SSL-related attributes.
*/
REQ_SSL_ATTRIBUTE,
/**
* Chain for request creation. Called each time a new request is created
* (requests are recycled).
*/
NEW_REQUEST,
/**
* Callback for lazy evaluation - extract the SSL-certificate (including
* forcing a re-handshake if necessary)
*/
REQ_SSL_CERTIFICATE,
/**
* Callback for lazy evaluation - socket remote port.
*/
REQ_REMOTEPORT_ATTRIBUTE,
/**
* Callback for lazy evaluation - socket local port.
*/
REQ_LOCALPORT_ATTRIBUTE,
/**
* Callback for lazy evaluation - local address.
*/
REQ_LOCAL_ADDR_ATTRIBUTE,
/**
* Callback for lazy evaluation - local address.
*/
REQ_LOCAL_NAME_ATTRIBUTE,
/**
* Callback for setting FORM auth body replay
*/
REQ_SET_BODY_REPLAY,
/**
* Callback for begin Comet processing
*/
COMET_BEGIN,
/**
* Callback for end Comet processing
*/
COMET_END,
/**
* Callback for getting the amount of available bytes
*/
AVAILABLE,
/**
* Callback for an asynchronous close of the Comet event
*/
COMET_CLOSE,
/**
* Callback for setting the timeout asynchronously
*/
COMET_SETTIMEOUT,
/**
* Callback for an async request
*/
ASYNC_START,
/**
* Callback for an async call to
* {@link javax.servlet.AsyncContext#dispatch()}
*/
ASYNC_DISPATCH,
/**
* Callback to indicate the the actual dispatch has started and that the
* async state needs change.
*/
ASYNC_DISPATCHED,
/**
* Callback for an async call to
* {@link javax.servlet.AsyncContext#start(Runnable)}
*/
ASYNC_RUN,
/**
* Callback for an async call to
* {@link javax.servlet.AsyncContext#complete()}
*/
ASYNC_COMPLETE,
/**
* Callback to trigger the processing of an async timeout
*/
ASYNC_TIMEOUT,
/**
* Callback to trigger the error processing
*/
ASYNC_ERROR,
/**
* Callback for an async call to
* {@link javax.servlet.AsyncContext#setTimeout(long)}
*/
ASYNC_SETTIMEOUT,
/**
* Callback to determine if async processing is in progress
*/
ASYNC_IS_ASYNC,
/**
* Callback to determine if async dispatch is in progress
*/
ASYNC_IS_STARTED,
/**
* Callback to determine if async dispatch is in progress
*/
ASYNC_IS_DISPATCHING,
/**
* Callback to determine if async is timing out
*/
ASYNC_IS_TIMINGOUT
}