亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? http_request.h

?? Apache_2.0.59-Openssl_0.9 配置tomcat. Apache_2.0.59-Openssl_0.9 配置tomcat.
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* 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.
 */

#ifndef APACHE_HTTP_REQUEST_H
#define APACHE_HTTP_REQUEST_H

#include "apr_hooks.h"
#include "util_filter.h"

#ifdef __cplusplus
extern "C" {
#endif

#define AP_SUBREQ_NO_ARGS 0
#define AP_SUBREQ_MERGE_ARGS 1

/**
 * @file http_request.h
 * @brief Apache Request library
 */

/* http_request.c is the code which handles the main line of request
 * processing, once a request has been read in (finding the right per-
 * directory configuration, building it if necessary, and calling all
 * the module dispatch functions in the right order).
 *
 * The pieces here which are public to the modules, allow them to learn
 * how the server would handle some other file or URI, or perhaps even
 * direct the server to serve that other file instead of the one the
 * client requested directly.
 *
 * There are two ways to do that.  The first is the sub_request mechanism,
 * which handles looking up files and URIs as adjuncts to some other
 * request (e.g., directory entries for multiviews and directory listings);
 * the lookup functions stop short of actually running the request, but
 * (e.g., for includes), a module may call for the request to be run
 * by calling run_sub_req.  The space allocated to create sub_reqs can be
 * reclaimed by calling destroy_sub_req --- be sure to copy anything you care
 * about which was allocated in its apr_pool_t elsewhere before doing this.
 */

/**
 * An internal handler used by the ap_process_request, all subrequest mechanisms
 * and the redirect mechanism.
 * @param r The request, subrequest or internal redirect to pre-process
 * @return The return code for the request
 */
AP_DECLARE(int) ap_process_request_internal(request_rec *r);

/**
 * Create a subrequest from the given URI.  This subrequest can be
 * inspected to find information about the requested URI
 * @param new_uri The URI to lookup
 * @param r The current request
 * @param next_filter The first filter the sub_request should use.  If this is
 *                    NULL, it defaults to the first filter for the main request
 * @return The new request record
 * @deffunc request_rec * ap_sub_req_lookup_uri(const char *new_uri, const request_rec *r)
 */
AP_DECLARE(request_rec *) ap_sub_req_lookup_uri(const char *new_uri,
                                                const request_rec *r,
                                                ap_filter_t *next_filter);

/**
 * Create a subrequest for the given file.  This subrequest can be
 * inspected to find information about the requested file
 * @param new_file The file to lookup
 * @param r The current request
 * @param next_filter The first filter the sub_request should use.  If this is
 *                    NULL, it defaults to the first filter for the main request
 * @return The new request record
 * @deffunc request_rec * ap_sub_req_lookup_file(const char *new_file, const request_rec *r)
 */
AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
                                              const request_rec *r,
                                              ap_filter_t *next_filter);
/**
 * Create a subrequest for the given apr_dir_read result.  This subrequest 
 * can be inspected to find information about the requested file
 * @param finfo The apr_dir_read result to lookup
 * @param r The current request
 * @param subtype What type of subrequest to perform, one of;
 * <PRE>
 *      AP_SUBREQ_NO_ARGS     ignore r->args and r->path_info
 *      AP_SUBREQ_MERGE_ARGS  merge r->args and r->path_info
 * </PRE>
 * @param next_filter The first filter the sub_request should use.  If this is
 *                    NULL, it defaults to the first filter for the main request
 * @return The new request record
 * @deffunc request_rec * ap_sub_req_lookup_dirent(apr_finfo_t *finfo, int subtype, const request_rec *r)
 * @tip The apr_dir_read flags value APR_FINFO_MIN|APR_FINFO_NAME flag is the 
 * minimum recommended query if the results will be passed to apr_dir_read.
 * The file info passed must include the name, and must have the same relative
 * directory as the current request.
 */
AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *finfo,
                                                   const request_rec *r,
                                                   int subtype,
                                                   ap_filter_t *next_filter);
/**
 * Create a subrequest for the given URI using a specific method.  This
 * subrequest can be inspected to find information about the requested URI
 * @param method The method to use in the new subrequest
 * @param new_uri The URI to lookup
 * @param r The current request
 * @param next_filter The first filter the sub_request should use.  If this is
 *                    NULL, it defaults to the first filter for the main request
 * @return The new request record
 * @deffunc request_rec * ap_sub_req_method_uri(const char *method, const char *new_uri, const request_rec *r)
 */
AP_DECLARE(request_rec *) ap_sub_req_method_uri(const char *method,
                                                const char *new_uri,
                                                const request_rec *r,
                                                ap_filter_t *next_filter);
/**
 * An output filter to strip EOS buckets from sub-requests.  This always
 * has to be inserted at the end of a sub-requests filter stack.
 * @param f The current filter
 * @param bb The brigade to filter
 * @deffunc apr_status_t ap_sub_req_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
 */
AP_CORE_DECLARE_NONSTD(apr_status_t) ap_sub_req_output_filter(ap_filter_t *f,
                                                        apr_bucket_brigade *bb);

/**
 * Run the handler for the subrequest
 * @param r The subrequest to run
 * @return The return code for the subrequest
 * @deffunc int ap_run_sub_req(request_rec *r)
 */
AP_DECLARE(int) ap_run_sub_req(request_rec *r);

/**
 * Free the memory associated with a subrequest
 * @param r The subrequest to finish
 * @deffunc void ap_destroy_sub_req(request_rec *r)
 */
AP_DECLARE(void) ap_destroy_sub_req(request_rec *r);

/*
 * Then there's the case that you want some other request to be served
 * as the top-level request INSTEAD of what the client requested directly.
 * If so, call this from a handler, and then immediately return OK.
 */

/**
 * Redirect the current request to some other uri
 * @param new_uri The URI to replace the current request with
 * @param r The current request
 * @deffunc void ap_internal_redirect(const char *new_uri, request_rec *r)
 */
AP_DECLARE(void) ap_internal_redirect(const char *new_uri, request_rec *r);

/**
 * This function is designed for things like actions or CGI scripts, when
 * using AddHandler, and you want to preserve the content type across
 * an internal redirect.
 * @param new_uri The URI to replace the current request with.
 * @param r The current request
 * @deffunc void ap_internal_redirect_handler(const char *new_uri, request_rec *r)
 */
AP_DECLARE(void) ap_internal_redirect_handler(const char *new_uri, request_rec *r);

/**
 * Redirect the current request to a sub_req, merging the pools
 * @param sub_req A subrequest created from this request
 * @param r The current request
 * @deffunc void ap_internal_fast_redirect(request_rec *sub_req, request_rec *r)
 * @tip the sub_req's pool will be merged into r's pool, be very careful
 * not to destroy this subrequest, it will be destroyed with the main request!
 */
AP_DECLARE(void) ap_internal_fast_redirect(request_rec *sub_req, request_rec *r);

/**

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色伊人亚洲综合成人| 日韩国产精品久久久久久亚洲| 欧美群妇大交群的观看方式| 色诱视频网站一区| 91福利视频久久久久| 欧美中文字幕亚洲一区二区va在线 | 日韩精品电影在线| 亚洲国产美女搞黄色| 亚洲成人自拍网| 日韩高清在线不卡| 美女一区二区在线观看| 久久99国产精品成人| 国产在线一区观看| 成人免费看片app下载| av在线播放不卡| 欧美日韩中文字幕精品| 欧美性色综合网| 日韩一级在线观看| 中文子幕无线码一区tr| 夜色激情一区二区| 黑人精品欧美一区二区蜜桃| 成人免费看黄yyy456| 色香色香欲天天天影视综合网| 欧美亚洲高清一区| 久久亚洲精品小早川怜子| 中文字幕欧美日本乱码一线二线| 亚洲精品欧美二区三区中文字幕| 日韩激情一二三区| 高清av一区二区| 欧美日韩在线播放一区| 日韩一区二区免费在线观看| 国产精品视频麻豆| 视频一区中文字幕| 成人a免费在线看| 91精品国产综合久久久久久 | 91麻豆.com| 日韩一区二区三区在线视频| 国产精品色婷婷久久58| 五月天中文字幕一区二区| 国产999精品久久久久久| 欧美精品在线观看播放| 久久久亚洲欧洲日产国码αv| 亚洲免费观看高清完整版在线| 蜜桃视频一区二区三区在线观看| 不卡电影一区二区三区| 91精品国产综合久久久久久漫画| 国产精品另类一区| 精品影视av免费| 欧美亚一区二区| 成人欧美一区二区三区黑人麻豆| 日本欧美一区二区| 欧美色国产精品| 国产精品久久久久毛片软件| 日本少妇一区二区| 欧美日韩中文国产| 国产精品福利在线播放| 国产一区二区精品久久91| 一本在线高清不卡dvd| 久久综合九色综合欧美98| 日韩影院在线观看| 欧美三级韩国三级日本一级| 亚洲视频中文字幕| www.日韩在线| 国产精品视频一二三| 国产曰批免费观看久久久| 日韩精品综合一本久道在线视频| 亚洲成人av电影在线| 欧美性猛交xxxxxx富婆| 亚洲欧洲中文日韩久久av乱码| 国产精品资源站在线| 精品久久99ma| 国产乱对白刺激视频不卡 | 国产九九视频一区二区三区| 日韩免费性生活视频播放| 五月婷婷久久丁香| 欧美一区二区三区在| 欧美a一区二区| 日韩欧美一区二区免费| 激情成人综合网| 精品国产一二三区| 风间由美一区二区三区在线观看| 亚洲精品一区二区在线观看| 激情综合色播激情啊| 欧美精品一区二区三区高清aⅴ| 欧美aⅴ一区二区三区视频| 日韩一区二区在线免费观看| 国产一区二区三区蝌蚪| 亚洲国产激情av| 色88888久久久久久影院野外| 夜夜嗨av一区二区三区网页| 欧美唯美清纯偷拍| 日韩av电影免费观看高清完整版| 日韩一区二区三区在线观看| 国产伦精品一区二区三区在线观看| 久久综合狠狠综合久久激情| 成人深夜福利app| 亚洲精品国产视频| 日韩视频在线观看一区二区| 国产福利一区二区| 亚洲麻豆国产自偷在线| 欧美日韩国产中文| 国产成人在线免费观看| 亚洲狠狠丁香婷婷综合久久久| 制服视频三区第一页精品| 久久精品国产久精国产爱| 国产精品免费观看视频| 欧美肥大bbwbbw高潮| 大白屁股一区二区视频| 亚洲成av人片| 中文av一区二区| 欧美军同video69gay| 国产大陆亚洲精品国产| 三级亚洲高清视频| 中文字幕一区三区| 2024国产精品视频| 在线精品视频一区二区| 国产毛片精品一区| 亚洲国产精品人人做人人爽| 国产欧美中文在线| 日韩一区二区精品| 色婷婷激情久久| 国产一级精品在线| 日韩电影在线一区二区三区| 一色屋精品亚洲香蕉网站| 欧美一区二区三区啪啪| 在线亚洲一区观看| 成人免费看的视频| 韩国在线一区二区| 免费高清在线视频一区·| 一区二区三区日韩在线观看| 欧美国产欧美综合| 亚洲精品一线二线三线| 欧美日韩一区二区欧美激情 | 8x8x8国产精品| 一本到高清视频免费精品| 国产精品1区2区| 精品综合久久久久久8888| 亚洲不卡在线观看| 午夜婷婷国产麻豆精品| 亚洲激情成人在线| 亚洲人成网站影音先锋播放| 国产午夜亚洲精品理论片色戒| 欧美刺激脚交jootjob| 欧美一区二区三区色| 欧美日韩精品免费| 欧美高清视频一二三区| 欧美另类z0zxhd电影| 欧美主播一区二区三区| 欧美亚洲综合色| 欧美精品vⅰdeose4hd| 欧美亚洲国产bt| 欧美日韩视频在线一区二区| 在线精品视频一区二区| 欧美三级电影网| 欧美精品一级二级| 69堂成人精品免费视频| 欧美一卡二卡在线观看| 日韩欧美电影一二三| 日韩免费电影网站| 国产午夜精品一区二区三区嫩草 | 久久久国产一区二区三区四区小说| 在线播放视频一区| 欧美一级黄色录像| 精品国产乱子伦一区| 精品第一国产综合精品aⅴ| 久久久影视传媒| 成人欧美一区二区三区白人| 亚洲视频一二三| 日韩专区一卡二卡| 老司机精品视频导航| 成人免费视频一区| 91精品办公室少妇高潮对白| 欧美色偷偷大香| 精品国产一区a| 亚洲欧美日韩久久| 日韩av一二三| 99视频精品全部免费在线| 日本高清无吗v一区| 日韩一二三区视频| 欧美—级在线免费片| 亚洲国产精品综合小说图片区| 日韩av一区二| 94-欧美-setu| 日韩欧美一级精品久久| 国产精品久久久久久久久图文区| 亚洲电影你懂得| 国产美女久久久久| 欧美特级限制片免费在线观看| 日韩欧美综合在线| 亚洲三级久久久| 国产在线播放一区二区三区| 色综合av在线| 中文字幕免费不卡在线| 日韩激情一二三区| 色综合久久中文综合久久97| 精品久久久久香蕉网| 亚洲免费在线电影| 国产91精品精华液一区二区三区 | 欧美三级日韩三级国产三级| 国产日韩欧美精品综合|