nginx/src/http/ngx_http_upstream.h


/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) Nginx, Inc.
 */


#ifndef _NGX_HTTP_UPSTREAM_H_INCLUDED_
#define _NGX_HTTP_UPSTREAM_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
#include <ngx_event_connect.h>
#include <ngx_event_pipe.h>
#include <ngx_http.h>


#define NGX_HTTP_UPSTREAM_FT_ERROR
#define NGX_HTTP_UPSTREAM_FT_TIMEOUT
#define NGX_HTTP_UPSTREAM_FT_INVALID_HEADER
#define NGX_HTTP_UPSTREAM_FT_HTTP_500
#define NGX_HTTP_UPSTREAM_FT_HTTP_502
#define NGX_HTTP_UPSTREAM_FT_HTTP_503
#define NGX_HTTP_UPSTREAM_FT_HTTP_504
#define NGX_HTTP_UPSTREAM_FT_HTTP_403
#define NGX_HTTP_UPSTREAM_FT_HTTP_404
#define NGX_HTTP_UPSTREAM_FT_HTTP_429
#define NGX_HTTP_UPSTREAM_FT_UPDATING
#define NGX_HTTP_UPSTREAM_FT_BUSY_LOCK
#define NGX_HTTP_UPSTREAM_FT_MAX_WAITING
#define NGX_HTTP_UPSTREAM_FT_NON_IDEMPOTENT
#define NGX_HTTP_UPSTREAM_FT_NOLIVE
#define NGX_HTTP_UPSTREAM_FT_OFF

#define NGX_HTTP_UPSTREAM_FT_STATUS

#define NGX_HTTP_UPSTREAM_INVALID_HEADER


#define NGX_HTTP_UPSTREAM_IGN_XA_REDIRECT
#define NGX_HTTP_UPSTREAM_IGN_XA_EXPIRES
#define NGX_HTTP_UPSTREAM_IGN_EXPIRES
#define NGX_HTTP_UPSTREAM_IGN_CACHE_CONTROL
#define NGX_HTTP_UPSTREAM_IGN_SET_COOKIE
#define NGX_HTTP_UPSTREAM_IGN_XA_LIMIT_RATE
#define NGX_HTTP_UPSTREAM_IGN_XA_BUFFERING
#define NGX_HTTP_UPSTREAM_IGN_XA_CHARSET
#define NGX_HTTP_UPSTREAM_IGN_VARY


ngx_http_upstream_state_t;


ngx_http_upstream_main_conf_t;

ngx_http_upstream_srv_conf_t;

ngx_http_upstream_init_pt;
ngx_http_upstream_init_peer_pt;


ngx_http_upstream_peer_t;


ngx_http_upstream_server_t;


#define NGX_HTTP_UPSTREAM_CREATE
#define NGX_HTTP_UPSTREAM_WEIGHT
#define NGX_HTTP_UPSTREAM_MAX_FAILS
#define NGX_HTTP_UPSTREAM_FAIL_TIMEOUT
#define NGX_HTTP_UPSTREAM_DOWN
#define NGX_HTTP_UPSTREAM_BACKUP
#define NGX_HTTP_UPSTREAM_MAX_CONNS


struct ngx_http_upstream_srv_conf_s {};


ngx_http_upstream_local_t;


ngx_http_upstream_conf_t;


ngx_http_upstream_header_t;


ngx_http_upstream_headers_in_t;


ngx_http_upstream_resolved_t;


ngx_http_upstream_handler_pt;


struct ngx_http_upstream_s {};


ngx_http_upstream_next_t;


ngx_http_upstream_param_t;


ngx_int_t ngx_http_upstream_create(ngx_http_request_t *r);
void ngx_http_upstream_init(ngx_http_request_t *r);
ngx_int_t ngx_http_upstream_non_buffered_filter_init(void *data);
ngx_int_t ngx_http_upstream_non_buffered_filter(void *data, ssize_t bytes);
ngx_http_upstream_srv_conf_t *ngx_http_upstream_add(ngx_conf_t *cf,
    ngx_url_t *u, ngx_uint_t flags);
char *ngx_http_upstream_bind_set_slot(ngx_conf_t *cf, ngx_command_t *cmd,
    void *conf);
char *ngx_http_upstream_param_set_slot(ngx_conf_t *cf, ngx_command_t *cmd,
    void *conf);
ngx_int_t ngx_http_upstream_hide_headers_hash(ngx_conf_t *cf,
    ngx_http_upstream_conf_t *conf, ngx_http_upstream_conf_t *prev,
    ngx_str_t *default_hide_headers, ngx_hash_init_t *hash);


#define ngx_http_conf_upstream_srv_conf(uscf, module)


extern ngx_module_t        ngx_http_upstream_module;
extern ngx_conf_bitmask_t  ngx_http_upstream_cache_method_mask[];
extern ngx_conf_bitmask_t  ngx_http_upstream_ignore_headers_masks[];


#endif /* _NGX_HTTP_UPSTREAM_H_INCLUDED_ */