|
1 Cu.import("resource://testing-common/httpd.js"); |
|
2 |
|
3 const SERVER_PORT = 8080; |
|
4 const baseURL = "http://localhost:" + SERVER_PORT + "/"; |
|
5 |
|
6 var cookie = ""; |
|
7 for (let i =0; i < 10000; i++) { |
|
8 cookie += " big cookie"; |
|
9 } |
|
10 |
|
11 var listener = { |
|
12 onStartRequest: function (request, ctx) { |
|
13 }, |
|
14 |
|
15 onDataAvailable: function (request, ctx, stream) { |
|
16 }, |
|
17 |
|
18 onStopRequest: function (request, ctx, status) { |
|
19 do_check_eq(status, Components.results.NS_OK); |
|
20 do_test_finished(); |
|
21 }, |
|
22 |
|
23 }; |
|
24 |
|
25 function run_test() { |
|
26 var server = new HttpServer(); |
|
27 server.start(SERVER_PORT); |
|
28 server.registerPathHandler('/', function(metadata, response) { |
|
29 response.setStatusLine(metadata.httpVersion, 200, "OK"); |
|
30 response.setHeader("Set-Cookie", "BigCookie=" + cookie, false); |
|
31 response.write("Hello world"); |
|
32 }); |
|
33 |
|
34 var ios = Components.classes["@mozilla.org/network/io-service;1"] |
|
35 .getService(Components.interfaces.nsIIOService); |
|
36 var chan = ios.newChannel(baseURL, null, null) |
|
37 .QueryInterface(Components.interfaces.nsIHttpChannel); |
|
38 chan.asyncOpen(listener, null); |
|
39 do_test_pending(); |
|
40 } |