Reversing the previous commit; generateResponse() should throw on invalid heders (as should activate()), because the server should fail the connection in this event.

This commit is contained in:
James Coglan
2015-03-26 08:30:23 +00:00
parent 62ac506b80
commit c8f31cc1c7
2 changed files with 12 additions and 16 deletions
+10 -14
View File
@@ -91,23 +91,19 @@ var instance = {
generateResponse: function(header) {
var sessions = [],
response = [],
offers;
offers = Parser.parseHeader(header);
try {
offers = Parser.parseHeader(header);
this._inOrder.forEach(function(ext) {
var offer = offers.byName(ext.name);
if (offer.length === 0 || this._reserved(ext)) return;
this._inOrder.forEach(function(ext) {
var offer = offers.byName(ext.name);
if (offer.length === 0 || this._reserved(ext)) return;
var session = ext.createServerSession(offer);
if (!session) return;
var session = ext.createServerSession(offer);
if (!session) return;
this._reserve(ext);
sessions.push([ext, session]);
response.push(Parser.serializeParams(ext.name, session.generateResponse()));
}, this);
} catch (e) {}
this._reserve(ext);
sessions.push([ext, session]);
response.push(Parser.serializeParams(ext.name, session.generateResponse()));
}, this);
this._sessions = sessions;
this._pipeline = new Pipeline(sessions);
+2 -2
View File
@@ -489,8 +489,8 @@ test.describe("Extensions", function() { with(this) {
assertEqual( "deflate; mode=compress", extensions.generateResponse("deflate, tar") )
}})
it("returns an empty response if the header is invalid", function() { with(this) {
assertNull( extensions.generateResponse("x-webkit- -frame") )
it("throws an error if the header is invalid", function() { with(this) {
assertThrows(SyntaxError, function() { extensions.generateResponse("x-webkit- -frame") })
}})
it("returns a response for potentially conflicting extensions if their preceeding extensions don't build a session", function() { with(this) {