Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
mod_proxy_http2.c File Reference
#include <nghttp2/nghttp2.h>
#include <ap_mmn.h>
#include <httpd.h>
#include <mod_proxy.h>
#include "mod_http2.h"
#include "mod_proxy_http2.h"
#include "h2.h"
#include "h2_proxy_util.h"
#include "h2_version.h"
#include "h2_proxy_session.h"

Go to the source code of this file.

Classes

struct  h2_proxy_ctx
 

Macros

#define H2MIN(x, y)   ((x) < (y) ? (x) : (y))
 

Typedefs

typedef struct h2_proxy_ctx h2_proxy_ctx
 

Functions

static void register_hook (apr_pool_t *p)
 
 AP_DECLARE_MODULE (proxy_http2)
 
static int h2_proxy_post_config (apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 
static int proxy_http2_canon (request_rec *r, char *url)
 
static apr_status_t add_request (h2_proxy_session *session, request_rec *r)
 
static void request_done (h2_proxy_ctx *ctx, request_rec *r, apr_status_t status, int touched, int error_code)
 
static void session_req_done (h2_proxy_session *session, request_rec *r, apr_status_t status, int touched, int error_code)
 
static apr_status_t ctx_run (h2_proxy_ctx *ctx)
 
static int proxy_http2_handler (request_rec *r, proxy_worker *worker, proxy_server_conf *conf, char *url, const char *proxyname, apr_port_t proxyport)
 

Variables

static int(* is_h2 )(conn_rec *c)
 

Macro Definition Documentation

◆ H2MIN

#define H2MIN (   x,
  y 
)    ((x) < (y) ? (x) : (y))

Definition at line 31 of file mod_proxy_http2.c.

Typedef Documentation

◆ h2_proxy_ctx

Function Documentation

◆ add_request()

static apr_status_t add_request ( h2_proxy_session session,
request_rec r 
)
static

Definition at line 213 of file mod_proxy_http2.c.

◆ AP_DECLARE_MODULE()

AP_DECLARE_MODULE ( proxy_http2  )

◆ ctx_run()

static apr_status_t ctx_run ( h2_proxy_ctx ctx)
static

< Module has handled this stage.

Definition at line 254 of file mod_proxy_http2.c.

◆ h2_proxy_post_config()

static int h2_proxy_post_config ( apr_pool_t p,
apr_pool_t plog,
apr_pool_t ptemp,
server_rec s 
)
static

Definition at line 74 of file mod_proxy_http2.c.

◆ proxy_http2_canon()

static int proxy_http2_canon ( request_rec r,
char url 
)
static

canonicalize the url into the request, if it is meant for us. slightly modified copy from mod_http

< Module declines to handle

< Reverse proxy

< Standard proxy

< Module has handled this stage.

Definition at line 104 of file mod_proxy_http2.c.

◆ proxy_http2_handler()

static int proxy_http2_handler ( request_rec r,
proxy_worker worker,
proxy_server_conf conf,
char url,
const char proxyname,
apr_port_t  proxyport 
)
static

< Module declines to handle

< Module declines to handle

< Module declines to handle

< Module declines to handle

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

Definition at line 312 of file mod_proxy_http2.c.

◆ register_hook()

static void register_hook ( apr_pool_t p)
static

Definition at line 476 of file mod_proxy_http2.c.

◆ request_done()

static void request_done ( h2_proxy_ctx ctx,
request_rec r,
apr_status_t  status,
int  touched,
int  error_code 
)
static

< Module has handled this stage.

Definition at line 233 of file mod_proxy_http2.c.

◆ session_req_done()

static void session_req_done ( h2_proxy_session session,
request_rec r,
apr_status_t  status,
int  touched,
int  error_code 
)
static

Definition at line 248 of file mod_proxy_http2.c.

Variable Documentation

◆ is_h2

int(* is_h2) (conn_rec *c) ( conn_rec c)
static

Definition at line 49 of file mod_proxy_http2.c.