|
Packit |
90a5c9 |
/* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
Packit |
90a5c9 |
* contributor license agreements. See the NOTICE file distributed with
|
|
Packit |
90a5c9 |
* this work for additional information regarding copyright ownership.
|
|
Packit |
90a5c9 |
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
Packit |
90a5c9 |
* (the "License"); you may not use this file except in compliance with
|
|
Packit |
90a5c9 |
* the License. You may obtain a copy of the License at
|
|
Packit |
90a5c9 |
*
|
|
Packit |
90a5c9 |
* http://www.apache.org/licenses/LICENSE-2.0
|
|
Packit |
90a5c9 |
*
|
|
Packit |
90a5c9 |
* Unless required by applicable law or agreed to in writing, software
|
|
Packit |
90a5c9 |
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
Packit |
90a5c9 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
Packit |
90a5c9 |
* See the License for the specific language governing permissions and
|
|
Packit |
90a5c9 |
* limitations under the License.
|
|
Packit |
90a5c9 |
*/
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/**
|
|
Packit |
90a5c9 |
* @file mod_core.h
|
|
Packit |
90a5c9 |
* @brief mod_core private header file
|
|
Packit |
90a5c9 |
*
|
|
Packit |
90a5c9 |
* @defgroup MOD_CORE mod_core
|
|
Packit |
90a5c9 |
* @ingroup APACHE_MODS
|
|
Packit |
90a5c9 |
* @{
|
|
Packit |
90a5c9 |
*/
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
#ifndef MOD_CORE_H
|
|
Packit |
90a5c9 |
#define MOD_CORE_H
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
#include "apr.h"
|
|
Packit |
90a5c9 |
#include "apr_buckets.h"
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
#include "httpd.h"
|
|
Packit |
90a5c9 |
#include "util_filter.h"
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
#ifdef __cplusplus
|
|
Packit |
90a5c9 |
extern "C" {
|
|
Packit |
90a5c9 |
#endif
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/* Handles for core filters */
|
|
Packit |
90a5c9 |
AP_DECLARE_DATA extern ap_filter_rec_t *ap_http_input_filter_handle;
|
|
Packit |
90a5c9 |
AP_DECLARE_DATA extern ap_filter_rec_t *ap_http_header_filter_handle;
|
|
Packit |
90a5c9 |
AP_DECLARE_DATA extern ap_filter_rec_t *ap_chunk_filter_handle;
|
|
Packit |
90a5c9 |
AP_DECLARE_DATA extern ap_filter_rec_t *ap_http_outerror_filter_handle;
|
|
Packit |
90a5c9 |
AP_DECLARE_DATA extern ap_filter_rec_t *ap_byterange_filter_handle;
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/*
|
|
Packit |
90a5c9 |
* These (input) filters are internal to the mod_core operation.
|
|
Packit |
90a5c9 |
*/
|
|
Packit |
90a5c9 |
apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
|
|
Packit |
90a5c9 |
ap_input_mode_t mode, apr_read_type_e block,
|
|
Packit |
90a5c9 |
apr_off_t readbytes);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/* HTTP/1.1 chunked transfer encoding filter. */
|
|
Packit |
90a5c9 |
apr_status_t ap_http_chunk_filter(ap_filter_t *f, apr_bucket_brigade *b);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/* Filter to handle any error buckets on output */
|
|
Packit |
90a5c9 |
apr_status_t ap_http_outerror_filter(ap_filter_t *f,
|
|
Packit |
90a5c9 |
apr_bucket_brigade *b);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
char *ap_response_code_string(request_rec *r, int error_index);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/**
|
|
Packit |
90a5c9 |
* Send the minimal part of an HTTP response header.
|
|
Packit |
90a5c9 |
* @param r The current request
|
|
Packit |
90a5c9 |
* @param bb The brigade to add the header to.
|
|
Packit |
90a5c9 |
* @warning Modules should be very careful about using this, and should
|
|
Packit |
90a5c9 |
* the default behavior. Much of the HTTP/1.1 implementation
|
|
Packit |
90a5c9 |
* correctness depends on the full headers.
|
|
Packit |
90a5c9 |
* @fn void ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb)
|
|
Packit |
90a5c9 |
*/
|
|
Packit |
90a5c9 |
AP_DECLARE(void) ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/**
|
|
Packit |
90a5c9 |
* Send an appropriate response to an http TRACE request.
|
|
Packit |
90a5c9 |
* @param r The current request
|
|
Packit |
90a5c9 |
* @note returns DONE or the HTTP status error if it handles the TRACE,
|
|
Packit |
90a5c9 |
* or DECLINED if the request was not for TRACE.
|
|
Packit |
90a5c9 |
* request method was not TRACE.
|
|
Packit |
90a5c9 |
*/
|
|
Packit |
90a5c9 |
AP_DECLARE_NONSTD(int) ap_send_http_trace(request_rec *r);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/**
|
|
Packit |
90a5c9 |
* Send an appropriate response to an http OPTIONS request.
|
|
Packit |
90a5c9 |
* @param r The current request
|
|
Packit |
90a5c9 |
*/
|
|
Packit |
90a5c9 |
AP_DECLARE(int) ap_send_http_options(request_rec *r);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/* Used for multipart/byteranges boundary string */
|
|
Packit |
90a5c9 |
AP_DECLARE_DATA extern const char *ap_multipart_boundary;
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
/* Init RNG at startup */
|
|
Packit |
90a5c9 |
AP_CORE_DECLARE(void) ap_init_rng(apr_pool_t *p);
|
|
Packit |
90a5c9 |
/* Update RNG state in parent after fork */
|
|
Packit |
90a5c9 |
AP_CORE_DECLARE(void) ap_random_parent_after_fork(void);
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
#ifdef __cplusplus
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
#endif
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
#endif /* !MOD_CORE_H */
|
|
Packit |
90a5c9 |
/** @} */
|