michael@0: Cu.import("resource://testing-common/httpd.js"); michael@0: michael@0: const SERVER_PORT = 8080; michael@0: const baseURL = "http://localhost:" + SERVER_PORT + "/"; michael@0: michael@0: var cookie = ""; michael@0: for (let i =0; i < 10000; i++) { michael@0: cookie += " big cookie"; michael@0: } michael@0: michael@0: var listener = { michael@0: onStartRequest: function (request, ctx) { michael@0: }, michael@0: michael@0: onDataAvailable: function (request, ctx, stream) { michael@0: }, michael@0: michael@0: onStopRequest: function (request, ctx, status) { michael@0: do_check_eq(status, Components.results.NS_OK); michael@0: do_test_finished(); michael@0: }, michael@0: michael@0: }; michael@0: michael@0: function run_test() { michael@0: var server = new HttpServer(); michael@0: server.start(SERVER_PORT); michael@0: server.registerPathHandler('/', function(metadata, response) { michael@0: response.setStatusLine(metadata.httpVersion, 200, "OK"); michael@0: response.setHeader("Set-Cookie", "BigCookie=" + cookie, false); michael@0: response.write("Hello world"); michael@0: }); michael@0: michael@0: var ios = Components.classes["@mozilla.org/network/io-service;1"] michael@0: .getService(Components.interfaces.nsIIOService); michael@0: var chan = ios.newChannel(baseURL, null, null) michael@0: .QueryInterface(Components.interfaces.nsIHttpChannel); michael@0: chan.asyncOpen(listener, null); michael@0: do_test_pending(); michael@0: }