Robert Butts created TC-503:

             Summary: Traffic Ops ORT Fails with Chunked Encoding
                 Key: TC-503
             Project: Traffic Control
          Issue Type: Bug
          Components: Traffic Ops ORT
            Reporter: Robert Butts
            Assignee: Robert Butts

ORT fails if no 'Content-Length' header exists.

Content-Length MAY be omitted per HTTP/1.1 RFC 7230, and in fact MUST NOT be 
included with a 'Transfer-Encoding: Chunked' header, which MUST be accepted by 

So far, we've just been lucky Perl/Mojolicious Traffic Ops doesn't happen to 
send Chunked encodings to ORT. But the spec requires clients accept it, ORT is 
in violation of HTTP/1.1. 

Further, the upcoming Golang Traffic Ops sends Chunked encoding, and there's no 
reasonable way in Go to prevent it. There's no HTTP-compliant way to instruct 
the server not to send Chunked encoding either, since clients are required to 
accept it. The right solution here is to fix ORT to accept Chunked encoding, 
without Content-Length.

It appears ORT only refuses it as a safety check, and doesn't actually need it 
for anything. Should be a simple fix.

This message was sent by Atlassian JIRA

Reply via email to