@@ -8,6 +8,10 @@ var sys = require("util")
88var server = http . createServer ( function ( req , res ) {
99 // Test setRequestHeader
1010 assert . equal ( "Foobar" , req . headers [ "x-test" ] ) ;
11+ // Test non-conforming allowed header
12+ assert . equal ( "node-XMLHttpRequest-test" , req . headers [ "user-agent" ] ) ;
13+ // Test header set with blacklist disabled
14+ assert . equal ( "http://github.com" , req . headers [ "referer" ] ) ;
1115
1216 var body = "Hello World" ;
1317 res . writeHead ( 200 , {
@@ -17,6 +21,7 @@ var server = http.createServer(function (req, res) {
1721 // Actual values don't matter
1822 "Set-Cookie" : "foo=bar" ,
1923 "Set-Cookie2" : "bar=baz" ,
24+ "Date" : "Thu, 30 Aug 2012 18:17:53 GMT" ,
2025 "Connection" : "close"
2126 } ) ;
2227 res . write ( "Hello World" ) ;
@@ -28,7 +33,7 @@ var server = http.createServer(function (req, res) {
2833xhr . onreadystatechange = function ( ) {
2934 if ( this . readyState == 4 ) {
3035 // Test getAllResponseHeaders()
31- var headers = "content-type: text/plain\r\ncontent-length: 11\r\nconnection: close" ;
36+ var headers = "content-type: text/plain\r\ncontent-length: 11\r\ndate: Thu, 30 Aug 2012 18:17:53 GMT\r\ nconnection: close" ;
3237 assert . equal ( headers , this . getAllResponseHeaders ( ) ) ;
3338
3439 // Test case insensitivity
5358 xhr . setRequestHeader ( "X-Test" , "Foobar" ) ;
5459 // Invalid header
5560 xhr . setRequestHeader ( "Content-Length" , 0 ) ;
61+ // Allowed header outside of specs
62+ xhr . setRequestHeader ( "user-agent" , "node-XMLHttpRequest-test" ) ;
5663 // Test getRequestHeader
5764 assert . equal ( "Foobar" , xhr . getRequestHeader ( "X-Test" ) ) ;
65+ // Test invalid header
66+ assert . equal ( "" , xhr . getRequestHeader ( "Content-Length" ) ) ;
67+
68+ // Test allowing all headers
69+ xhr . setDisableHeaderCheck ( true ) ;
70+ xhr . setRequestHeader ( "Referer" , "http://github.com" ) ;
71+ assert . equal ( "http://github.com" , xhr . getRequestHeader ( "Referer" ) ) ;
72+
5873 xhr . send ( ) ;
5974} catch ( e ) {
6075 console . log ( "ERROR: Exception raised" , e ) ;
0 commit comments