Mantis - Resin
Viewing Issue Advanced Details
3686 minor always 09-16-09 11:17 10-29-09 16:04
ferg  
ferg  
normal  
closed 4.0.1  
fixed  
none    
none 4.0.2  
0003686: hmux chunking issues with 4.0.1
(rep by Wesley Wu)

affected version: Resin 4.0.0 & 4.0.1
reproducible: every time

HmuxResponse.writeHeadersInt should not always return false, otherwise in ResponseStream "write-chunk5" will never happen if _chunkedEncoding==false.

this result in UTF8Writer produces a reproducible error.

I modified HmuxResponse.writeHeadersInt to add some lines below:


        // add by wesley start
        boolean hasContentLength = false;
        // add by wesley end
        if (_contentLength >= 0) {
            cb.clear();
            cb.append(_contentLength);
            _req.writeHeader("Content-Length", cb);
            // add by wesley start
            hasContentLength = true;
            // add by wesley end
        } else if (length >= 0) {
            cb.clear();
            cb.append(length);
            _req.writeHeader("Content-Length", cb);
            // add by wesley start
            hasContentLength = true;
            // add by wesley end
        }

                ...

        // add by wesley start
        boolean isChunked = false;
        if (!hasContentLength && !isHead) {
            isChunked = true;
        }
        return isChunked;
        // add by wesley start
          }

and everything goes fine.

Notes
(0004273)
ferg   
10-29-09 16:04   
chunking implementation redesigned in 4.0.2.