[Webkit-unassigned] [Bug 63262] REGRESSION: EventSource fails to connect if Content-Type header has a charset attribute
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jun 23 10:21:20 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=63262
--- Comment #2 from goberman at msn.com 2011-06-23 10:21:21 PST ---
SERVER:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class WebFrameworkServletEventSource extends HttpServlet {
private SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:ss");
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Begin for session: " + request.getSession(true).getId() + " " + response.getWriter());
response.setHeader("pragma", "no-cache,no-store");
response.setHeader("cache-control", "no-cache,no-store,max-age=0,max-stale=0");
response.setHeader("Connection", "close");
response.setContentType("text/event-stream");
PrintWriter out = response.getWriter();
int messagesSent = 0;
while (true) {
out.print("data: ");
out.print("{\"m\":8448,\"r\":0,\"e\":1,\"s\":[\"BAC.\",0],\"f\":[[0,6,3993,2],[55,6,1185,2],[54,6,3218,2],[5,6,6617,2],[52,4,15],[12,6,1700,2]]}");
out.print("\n\n");
out.flush();
messagesSent++;
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
}
}
}
}
CLIENT:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>test</title>
</head>
<body>
<input type="button" value="TEST" onclick="test(); return false;" />
<script type="text/javascript">
var domElement;
var messagesProcessed = 0;
var eventSrc;
function test() {
domElement = document.getElementsByTagName('body')[0];
debug('connect');
try {
eventSrc = new EventSource('http://{ADDRESS}/Test/Controller');
}
catch (e) {
debug('exception');
}
eventSrc.onopen = function (event) {
debug('open ' + event.type);
};
eventSrc.onerror = function (event) {
debug('error ' + event.type);
};
eventSrc.onmessage = function (event) {
var data = event.data;
debug(event.type + ' ' + data);
};
}
function debug(message) {
var oText = document.createTextNode(message);
var oDiv = document.createElement('div');
oDiv.appendChild(oText);
domElement.insertBefore(oDiv, domElement.hasChildNodes() ? domElement.childNodes[0] : null);
}
</script>
</body>
</html>
WEB.XML
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>test.WebFrameworkServletEventSource</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>/Controller</url-pattern>
</servlet-mapping>
</web-app>
WIRESHARK TRACE:
GET /Test/Controller HTTP/1.1
Host: 172.16.16.250
Connection: keep-alive
Referer: http://172.16.16.250/Test/web/StreamingEventSourceTest.html
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30
Accept: text/event-stream
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=BB8BAD8227976D3032225DEB90FE99BB; Path=/Test; HttpOnly
pragma: no-cache,no-store
cache-control: no-cache,no-store,max-age=0,max-stale=0
Connection: close
Content-Type: text/event-stream;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Thu, 23 Jun 2011 17:15:34 GMT
81
data: {"m":8448,"r":0,"e":1,"s":["BAC.",0],"f":[[0,6,3993,2],[55,6,1185,2],[54,6,3218,2],[5,6,6617,2],[52,4,15],[12,6,1700,2]]}
81
data: {"m":8448,"r":0,"e":1,"s":["BAC.",0],"f":[[0,6,3993,2],[55,6,1185,2],[54,6,3218,2],[5,6,6617,2],[52,4,15],[12,6,1700,2]]}
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list