Name Date Size #Lines LOC

..08-Nov-2019-

Makefile.incH A D20-Jul-20191.1 KiB2910

READMEH A D20-Jul-20191.8 KiB3526

ats-multiplexer.ccH A D20-Jul-20194.4 KiB16299

chunk-decoder.ccH A D20-Jul-20193.8 KiB161120

chunk-decoder.hH A D20-Jul-20191.7 KiB6630

dispatch.ccH A D20-Jul-20196.9 KiB269204

dispatch.hH A D20-Jul-20191.9 KiB7338

fetcher.ccH A D20-Jul-20191.8 KiB6536

fetcher.hH A D20-Jul-20198.6 KiB313264

original-request.ccH A D20-Jul-20193.6 KiB12881

original-request.hH A D20-Jul-20191.7 KiB6227

post.ccH A D20-Jul-20193.6 KiB13997

post.hH A D20-Jul-20191.1 KiB4212

remap.configH A D20-Jul-2019959 2016

ts.ccH A D20-Jul-20191.1 KiB4015

ts.hH A D20-Jul-20191.8 KiB6838

README

1ATS (Apache Traffic Server) Multiplexer plug-in
2-----------------------------------------------
3
4This is a remap plug-in that allows a request to be multiplexed one or more times
5 and sent to different remap entries. Both headers and body (in case of POST or
6 PUT methods, only) are copied into the new requests.
7
8Multiplexer:
9 1. adds "X-Multiplexer: original" header into client's request.
10 2. copies client's request (bodies are copied by transforming the request)
11 3. changes Host header of the copy according to pparam.
12 4. changes X-Multiplexer header to "copy".
13 5. sends the copied request with TSHttpConnect.
14
15Multiplexer dispatches the request in background without blocking the original
16 request. Multiplexed responses are drained and discarded.
17
18A global timeout can be overwritten through "multiplexer__timeout" environment variable representing how many nanoseconds to wait. A default 1s timeout is hard-coded.
19
20Please use "multiplexer" tag for debugging purposes. While debugging, multiplexed requests and responses are printed into the logs.
21
22Multiplexer produces the following statistics consumed with traffic_ctl:
23 - failures: number of failed multiplexed requests
24 - hits: number of successful multiplexed requests
25 - requests: total number of multiplexed requests
26 - time(avg): average time taken between multiplexed requests and their responses
27 - timeouts: number of multiplexed requests which timed-out
28 - size(avg): average size of multiplexed responses
29
30Example remap.config:
31    map http://www.example.com/a http://www.example.com/ @plugin=multiplexer.so @pparam=host1.example.com
32    map http://www.example.com/b http://www.example.com/ @plugin=multiplexer.so @pparam=host2.example.com
33    map http://www.example.com/c http://www.example.com/ @plugin=multiplexer.so @pparam=host1.example.com @pparam=host2.example.com
34
35