Quantcast

[Bug 53169] New: [patch] don't do chunking with Connection: close

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 53169] New: [patch] don't do chunking with Connection: close

Bugzilla from bugzilla@apache.org
https://issues.apache.org/bugzilla/show_bug.cgi?id=53169

          Priority: P2
            Bug ID: 53169
          Assignee: [hidden email]
           Summary: [patch] don't do chunking with Connection: close
          Severity: minor
    Classification: Unclassified
                OS: All
          Reporter: [hidden email]
          Hardware: All
            Status: NEW
           Version: trunk
         Component: Catalina
           Product: Tomcat 7

Created attachment 28702
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=28702&action=edit
patch against trunk

The attached patch disables chunking on if there is a Connection: close header,
we're on HTTP 1.1 and there's no Content-Length header.

This helps to implement Server-Sent Events [1]. Server-Sent Event are
conceptually similar to the forever streaming iframe in the sense that there's
an "infinite" response from the server that always gets updated. But they're
easier to use and with less issues. They are also easier to use than WebSockets
if you don't need a back channel.

The specification reccoments to disable chunking. Jetty implements the same
behavior, when there's a Connection: close header it doesn't do chunking.

The following discussion [2] leads me to believe that patches would be welcome.
The patch comes with unit tests that verify that there is still chunking
happending when there is no Connection: close header.

 [1] http://dev.w3.org/html5/eventsource/#notes
 [2]
http://tomcat.10.n6.nabble.com/How-to-disable-chunked-encoding-for-the-Http11NioProtocol-connector-td2038448.html

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 53169] [patch] don't do chunking with Connection: close

Bugzilla from bugzilla@apache.org
https://issues.apache.org/bugzilla/show_bug.cgi?id=53169

Mark Thomas <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from Mark Thomas <[hidden email]> ---
The general approach is fine although I have made a number of changes to the
patch:
- The Servlets in the unit tests should exist in the test class that uses them
- There is no need use the test webapp for these unit tests
- Use more of the built-in infrastructure for making a request
- Improved the checking of the response headers

These changes identified that the Connection: close header was being set twice.
It isn't illegal but it might confuse some clients. I added some additional
code to prevent this.

The change has been made to trunk and 7.0.x and will be included in 7.0.28
onwards.

--
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 53169] [patch] don't do chunking with Connection: close

Bugzilla from bugzilla@apache.org
In reply to this post by Bugzilla from bugzilla@apache.org
https://issues.apache.org/bugzilla/show_bug.cgi?id=53169

--- Comment #2 from Philippe Marschall <[hidden email]> ---
Thanks for cleaning up an applying.

--
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...