#include <assert.h>
#include <stdio.h>
#include <apr_date.h>
#include <apr_lib.h>
#include <apr_strings.h>
#include <httpd.h>
#include <http_core.h>
#include <http_log.h>
#include <http_connection.h>
#include <http_protocol.h>
#include <http_request.h>
#include <util_time.h>
#include "h2_private.h"
#include "h2.h"
#include "h2_config.h"
#include "h2_conn_ctx.h"
#include "h2_headers.h"
#include "h2_c1.h"
#include "h2_c2_filter.h"
#include "h2_c2.h"
#include "h2_mplx.h"
#include "h2_request.h"
#include "h2_ws.h"
#include "h2_util.h"
Go to the source code of this file.
|
| static int | uniq_field_values (void *d, const char *key, const char *val) |
| |
| static void | fix_vary (request_rec *r) |
| |
| static h2_headers * | create_response (request_rec *r) |
| |
| static apr_status_t | parse_header (h2_response_parser *parser, char *line) |
| |
| static apr_status_t | get_line (h2_response_parser *parser, apr_bucket_brigade *bb, char *line, apr_size_t len) |
| |
| static apr_table_t * | make_table (h2_response_parser *parser) |
| |
| static apr_status_t | pass_response (h2_conn_ctx_t *conn_ctx, ap_filter_t *f, h2_response_parser *parser) |
| |
| static apr_status_t | parse_status (h2_response_parser *parser, char *line) |
| |
| static apr_status_t | parse_response (h2_response_parser *parser, h2_conn_ctx_t *conn_ctx, ap_filter_t *f, apr_bucket_brigade *bb) |
| |
| apr_status_t | h2_c2_filter_catch_h1_out (ap_filter_t *f, apr_bucket_brigade *bb) |
| |
| apr_status_t | h2_c2_filter_response_out (ap_filter_t *f, apr_bucket_brigade *bb) |
| |
| static void | make_chunk (conn_rec *c, h2_chunk_filter_t *fctx, apr_bucket_brigade *bb, apr_bucket *first, apr_off_t chunk_len, apr_bucket *tail) |
| |
| static int | ser_header (void *ctx, const char *name, const char *value) |
| |
| static apr_status_t | read_and_chunk (ap_filter_t *f, h2_conn_ctx_t *conn_ctx, apr_read_type_e block) |
| |
| apr_status_t | h2_c2_filter_request_in (ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes) |
| |
| apr_status_t | h2_c2_filter_trailers_out (ap_filter_t *f, apr_bucket_brigade *bb) |
| |
◆ H2_FILTER_LOG
Value:
"FILTER[%s]: %s %s", \
} \
} while (0)
const char apr_size_t len
#define APLOG_C_IS_LEVEL(c, level)
apr_vformatter_buff_t * c
apr_size_t h2_util_bb_print(char *buffer, apr_size_t bmax, const char *tag, const char *sep, apr_bucket_brigade *bb)
Definition at line 153 of file h2_c2_filter.c.
◆ h2_chunk_filter_t
◆ h2_response_parser
◆ h2_rp_state_t
| Enumerator |
|---|
| H2_RP_STATUS_LINE | |
| H2_RP_HEADER_LINE | |
| H2_RP_DONE | |
Definition at line 376 of file h2_c2_filter.c.
◆ create_response()
◆ fix_vary()
◆ get_line()
◆ h2_c2_filter_catch_h1_out()
◆ h2_c2_filter_request_in()
Input filter on secondary connections that insert the REQUEST bucket with the request to perform and then removes itself.
Definition at line 916 of file h2_c2_filter.c.
◆ h2_c2_filter_response_out()
◆ h2_c2_filter_trailers_out()
◆ make_chunk()
◆ make_table()
◆ parse_header()
◆ parse_response()
◆ parse_status()
◆ pass_response()
◆ read_and_chunk()
◆ ser_header()
◆ uniq_field_values()