Browse Source

Ensure browser does not re-use push connection after refresh (#14297, #14416)

Change-Id: I99748db0f00a6b2189f557fa05a145906a841efc
tags/7.5.0.beta1
Artur Signell 9 years ago
parent
commit
79c8c696c0
1 changed files with 9 additions and 3 deletions
  1. 9
    3
      server/src/com/vaadin/server/communication/PushHandler.java

+ 9
- 3
server/src/com/vaadin/server/communication/PushHandler.java View File

@@ -79,12 +79,18 @@ public class PushHandler {
resource.getResponse().setContentType("text/plain; charset=UTF-8");

VaadinSession session = ui.getSession();
if (resource.transport() == TRANSPORT.STREAMING) {
// Must ensure that the streaming response contains
if (resource.transport() == TRANSPORT.STREAMING
|| resource.transport() == TRANSPORT.LONG_POLLING) {
// Must ensure that the streaming/long-polling response contains
// "Connection: close", otherwise iOS 6 will wait for the
// response to this request before sending another request to
// the same server (as it will apparently try to reuse the same
// connection)
// connection).

// Other browsers might also try to re-use the same
// connection for fetching static files after refreshing, which
// will cause a failure in loading vaadinPush.js or
// vaadinBootstrap.js
resource.getResponse().addHeader("Connection", "close");
}


Loading…
Cancel
Save