mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-20 00:10:41 -05:00
HAProxy - Load balancer
Some HTTP related stats functions need to know the parent proxy, mainly to get a pointer on the related uri_auth set by the proxy or to check scope settings. The current design (probably historical as only the http context existed by then) took the other approach: it propagates the uri pointer from the http context deep down the calling stack up to the relevant functions. For non-http contexts (cli), the pointer is set to NULL. Doing so is not very pretty and not easy to maintain. Moreover, there were still some places in the code were the uri pointer was learned directly from the stream proxy because the argument was not available as argument from those functions. This is error-prone, because if one day we decide to change the source proxy in the parent function, we might still have some functions down the stack that ignore the top most argument and still do on their own, and we'll probably end up with inconsistencies. So in this patch, we take a safer approach: the caller responsible for creating the stats applet should set the http_px pointer so that any stats function running under the applet that needs to know if it's running in http context or needs to access parent proxy info may do so thanks to the dedicated ctx->http_px pointer. |
||
|---|---|---|
| .github | ||
| addons | ||
| admin | ||
| dev | ||
| doc | ||
| examples | ||
| include | ||
| reg-tests | ||
| scripts | ||
| src | ||
| tests | ||
| .cirrus.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| .travis.yml | ||
| BRANCHES | ||
| BSDmakefile | ||
| CHANGELOG | ||
| CONTRIBUTING | ||
| INSTALL | ||
| LICENSE | ||
| MAINTAINERS | ||
| Makefile | ||
| README | ||
| SUBVERS | ||
| VERDATE | ||
| VERSION | ||
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)