haproxy/include/types
Christopher Faulet da02e17d42 MAJOR: filters: Require explicit registration to filter HTTP body and TCP data
Before, functions to filter HTTP body (and TCP data) were called from the moment
at least one filter was attached to the stream. If no filter is interested by
these data, this uselessly slows data parsing.
A good example is the HTTP compression filter. Depending of request and response
headers, the response compression can be enabled or not. So it could be really
nice to call it only when enabled.

So, now, to filter HTTP/TCP data, a filter must use the function
register_data_filter. For TCP streams, this function can be called only
once. But for HTTP streams, when needed, it must be called for each HTTP request
or HTTP response.
Only registered filters will be called during data parsing. At any time, a
filter can be unregistered by calling the function unregister_data_filter.
2016-02-09 14:53:15 +01:00
..
acl.h REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
action.h MINOR: stream/applet: add use-service action 2015-09-28 01:03:48 +02:00
applet.h MINOR: lua: add AppletHTTP class and service 2015-09-28 01:03:48 +02:00
arg.h MEDIUM: logs: add a new RFC5424 log-format for the structured-data 2015-09-28 14:01:27 +02:00
auth.h MAJOR: auth: Change the internal authentication system. 2014-03-17 18:06:06 +01:00
backend.h MEDIUM: backend: add the crc32 hash algorithm for load balancing 2015-01-20 19:48:14 +01:00
capture.h MINOR: capture: extend the captures to support non-header keys 2014-06-13 16:32:48 +02:00
channel.h MEDIUM: filters: Replace filter_http_headers callback by an analyzer 2016-02-09 14:53:15 +01:00
checks.h MINOR: check: add agent-send server parameter 2015-11-04 07:26:51 +01:00
compression.h MAJOR: filters/http: Rewrite the HTTP compression as a filter 2016-02-09 14:53:15 +01:00
connection.h MAJOR: tproxy: remove support for cttproxy 2015-08-20 19:35:14 +02:00
counters.h MEDIUM: session: maintain per-backend and per-server time statistics 2014-06-17 17:15:56 +02:00
dns.h MEDIUM: dns: Don't use the ANY query type 2015-10-20 22:31:01 +02:00
fd.h BUG/MEDIUM: polling: fix possible CPU hogging of worker processes after receiving SIGUSR1. 2014-05-20 14:57:36 +02:00
filters.h MAJOR: filters: Require explicit registration to filter HTTP body and TCP data 2016-02-09 14:53:15 +01:00
freq_ctr.h [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
global.h BUG/MEDIUM: config: properly adjust maxconn with nbproc when memmax is forced 2015-12-14 13:03:09 +01:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
hlua.h BUG/MEDIUM: lua: Lua applets must not fetch samples using http_txn 2015-12-20 23:13:00 +01:00
lb_chash.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fas.h MEDIUM: backend: add the 'first' balancing algorithm 2012-02-21 22:27:27 +01:00
lb_fwlc.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.h [CLEANUP] proxy: move last lb-specific bits to their respective files 2009-10-03 18:41:18 +02:00
listener.h MEDIUM: ssl: Add options to forge SSL certificates 2015-06-12 18:06:59 +02:00
log.h BUG/MEDIUM: logs: segfault writing to log from Lua 2015-10-02 00:57:45 +02:00
mailers.h MEDIUM: Allow configuration of email alerts 2015-02-03 00:24:16 +01:00
map.h MEDIUM: map: uses HAProxy facilities to store default value 2015-03-13 14:10:30 +01:00
obj_type.h CLEANUP: applet: rename struct si_applet to applet 2015-04-23 17:56:16 +02:00
pattern.h MINOR: samples: rename some struct member from "smp" to "data" 2015-08-20 17:13:46 +02:00
peers.h CLEANUP: proxy: remove last references to appsession 2015-08-10 19:42:30 +02:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
port_range.h [MEDIUM] add support for binding to source port ranges during connect 2009-06-10 12:23:32 +02:00
proto_http.h MAJOR: filters: Add filters support 2016-02-09 14:53:15 +01:00
proto_udp.h MEDIUM: protocol: add minimalist UDP protocol client 2015-06-13 22:07:35 +02:00
protocol.h MEDIUM: listener: implement a per-protocol pause() function 2014-07-08 01:13:34 +02:00
proxy.h MAJOR: filters: Add filters support 2016-02-09 14:53:15 +01:00
queue.h REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
sample.h BUG/MINOR: http: remove stupid HTTP_METH_NONE entry 2015-09-03 17:15:21 +02:00
server.h MEDIUM: server: implement TCP_USER_TIMEOUT on the server 2015-10-13 16:18:27 +02:00
session.h MEDIUM: vars: move the session variables to the session, not the stream 2015-06-19 11:59:02 +02:00
signal.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
ssl_sock.h MEDIUM: Add support for updating TLS ticket keys via socket 2015-05-16 11:28:04 +02:00
stick_table.h MEDIUM: stick-tables: Add GPT0 in the stick tables 2015-08-20 17:13:47 +02:00
stream.h MINOR: filters: Add stream_filters structure to hide filters info 2016-02-09 14:53:15 +01:00
stream_interface.h MINOR: stream-int: add two flags to indicate an applet's wishes regarding I/O 2015-04-23 17:56:17 +02:00
task.h DIET/MINOR: task: reduce struct task size by 8 bytes 2013-12-09 16:06:22 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00
vars.h MINOR: samples: rename a struct from sample_storage to sample_data 2015-08-20 17:13:46 +02:00