Skip to content

Transfer-Encoding: chunked, chunked, chunked, chunked #8801

@masaori335

Description

@masaori335

When ATS retries the chunked requests, the value of the Transfer-Encoding header gets odd.
It becomes Transfer-Encoding: chunked, chunked, chunked, chunked at 3rd retry.

Repro

ATS

  • remap.config
# force to retry. nothing is running on port 9999
map / http://127.0.0.1:9999/ 
  • records.config
# default setting
CONFIG proxy.config.http.connect_attempts_max_retries INT 3

Client

» curl --http1.1 -sk http://127.0.0.1:8080/ -o /dev/null -H 'Transfer-Encoding: chunked' -d 'hello: world'

Debug log

+++++++++ Proxy's Request after hooks +++++++++
-- State Machine Id: 0
POST / HTTP/1.1
Host: localhost:9999
User-Agent: curl/7.79.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Client-ip: 127.0.0.1
X-Forwarded-For: 127.0.0.1
Via: http/1.1 traffic_server[7a7d1c9b-cbcf-4e17-9664-db213a704bc4] (ApacheTrafficServer/10.0.0)
Transfer-Encoding: chunked
...
[Apr 20 10:57:38.798] [ET_NET 8] DEBUG: <HttpTransact.cc:3806 (handle_response_from_server)> (http_trans) [0] max_connect_retries: 3 s->current.attempts: 0
...
+++++++++ Proxy's Request after hooks +++++++++
-- State Machine Id: 0
POST / HTTP/1.1
Host: localhost:9999
User-Agent: curl/7.79.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Client-ip: 127.0.0.1
X-Forwarded-For: 127.0.0.1
Via: http/1.1 traffic_server[7a7d1c9b-cbcf-4e17-9664-db213a704bc4] (ApacheTrafficServer/10.0.0)
Transfer-Encoding: chunked, chunked
...
[Apr 20 10:57:38.799] [ET_NET 8] DEBUG: <HttpTransact.cc:3806 (handle_response_from_server)> (http_trans) [0] max_connect_retries: 3 s->current.attempts: 1
...
+++++++++ Proxy's Request after hooks +++++++++
-- State Machine Id: 0
POST / HTTP/1.1
Host: localhost:9999
User-Agent: curl/7.79.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Client-ip: 127.0.0.1
X-Forwarded-For: 127.0.0.1
Via: http/1.1 traffic_server[7a7d1c9b-cbcf-4e17-9664-db213a704bc4] (ApacheTrafficServer/10.0.0)
Transfer-Encoding: chunked, chunked, chunked
...
[Apr 20 10:57:38.801] [ET_NET 8] DEBUG: <HttpTransact.cc:3806 (handle_response_from_server)> (http_trans) [0] max_connect_retries: 3 s->current.attempts: 2
...
+++++++++ Proxy's Request after hooks +++++++++
-- State Machine Id: 0
POST / HTTP/1.1
Host: localhost:9999
User-Agent: curl/7.79.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Client-ip: 127.0.0.1
X-Forwarded-For: 127.0.0.1
Via: http/1.1 traffic_server[7a7d1c9b-cbcf-4e17-9664-db213a704bc4] (ApacheTrafficServer/10.0.0)
Transfer-Encoding: chunked, chunked, chunked, chunked

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions