haproxy/include/proto
William Lallemand cf62f7e3cb MEDIUM: cli: implement 'mode cli' proxy analyzers
This patch implements analysers for parsing the CLI and extra features
for the master's CLI.

For each command (sent alone, or separated by ; or \n) the request
analyser will determine to which server it should send the request.

The 'mode cli' proxy is able to parse a prefix for each command which is
used to select the apropriate server. The prefix start by @ and is
followed by "master", the PID preceded by ! or the relative PID. (e.g.
@master, @1, @!1234). The servers are not round-robined anymore.

The command is sent with a SHUTW which force the server to close the
connection after sending its response. However the proxy allows a
keepalive connection on the client side and does not close.

The response analyser does not do much stuff, it only reinits the
connection when it received a close from the server, and forward the
response. It does not analyze the response data.
The only guarantee of the end of the response is the close of the
server, we can't rely on the double \n since it's not send by every
command.

This could be reimplemented later as a filter.
2018-10-28 14:03:06 +01:00
..
acl.h
action.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
applet.h MAJOR: applets: Use tasks, instead of rolling our own scheduler. 2018-05-26 20:03:30 +02:00
arg.h
auth.h
backend.h
channel.h MEDIUM: channel: merge back flags CF_WRITE_PARTIAL and CF_WRITE_EVENT 2018-10-26 08:32:57 +02:00
checks.h
cli.h MEDIUM: cli: implement 'mode cli' proxy analyzers 2018-10-28 14:03:06 +01:00
compression.h
connection.h MINOR: proxy: add a new option "http-use-htx" 2018-10-23 10:22:36 +02:00
dns.h
fd.h MINOR: fd: centralize poll timeout computation in compute_poll_timeout() 2018-10-17 19:59:43 +02:00
filters.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
flt_http_comp.h
freq_ctr.h MINOR: freq_ctr: add swrate_add_scaled() to work with large samples 2018-10-22 08:13:57 +02:00
frontend.h
h1.h MINOR: h1: Export some functions parsing the value of some HTTP headers 2018-10-23 10:22:36 +02:00
hdr_idx.h
hlua_fcn.h
hlua.h
http_fetch.h REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_rules.h REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily disabled 2018-03-16 11:19:07 +01:00
log.h MINOR: log: One const should be enough. 2018-09-06 18:52:15 +02:00
map.h
mux_pt.h
obj_type.h
openssl-compat.h MINOR: ssl: generate-certificates for BoringSSL 2018-10-08 09:42:34 +02:00
pattern.h
payload.h
peers.h BUILD: peers: check allocation error during peers_init_sync() 2018-10-15 13:24:43 +02:00
pipe.h
port_range.h
proto_http.h MINOR: http: Export some functions and do cleanup to prepare HTTP refactoring 2018-10-12 16:00:45 +02:00
proto_sockpair.h MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
proto_tcp.h MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
proto_udp.h
protocol.h MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.h MINOR: proxy: add a new generic proxy_capture_error() 2018-09-07 18:36:04 +02:00
queue.h MEDIUM: add set-priority-class and set-priority-offset 2018-08-10 15:06:31 +02:00
raw_sock.h
sample.h MINOR: sample: remove impossible tests on negative smp->data.u.str.data 2018-08-22 05:28:33 +02:00
server.h MINOR: server: export new_server() function 2018-10-28 13:51:38 +01:00
session.h
shctx.h MINOR: shctx: Change max. object size type to unsigned int. 2018-10-26 04:54:40 +02:00
signal.h MEDIUM: startup: unify signal init between daemon and mworker mode 2018-09-11 10:21:58 +02:00
spoe.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
ssl_sock.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
stats.h MINOR: stats: Add missing include 2018-10-12 16:00:32 +02:00
stick_table.h MINOR: stktable: provide an unchecked version of stktable_data_ptr() 2018-09-20 11:42:15 +02:00
stream_interface.h MEDIUM: stream-int: make si_update() synchronize flag changes before the I/O 2018-10-28 13:47:00 +01:00
stream.h REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
task.h OPTIM: tasks: group all tree roots per cache line 2018-10-15 19:06:13 +02:00
tcp_rules.h
template.h
vars.h