nl_tokens: Appends an header to the list of author request headers or if header is already in the list of author request headers combines its value with value .
pl_tokens: function ( <mask> , value ) { var uaHeaders = [ // these headers are controlled by the user agent "accept-charset" , "accept-encoding" , "access-control-request-headers" , "access-control-request-method" , "connection" , "content-length" , "cookie" , "cookie2" , "content-transfer-encoding" , "date" , "expect" , "host" , "keep-alive" , "origin" , "referer" , "te" , "trailer" , "transfer-encoding" , "upgrade" , "user-agent" , "via" ] ; // 1-2 if ( _p ( 'readyState' ) !== XMLHttpRequest . OPENED || _send_flag ) { throw new x . DOMException ( x . DOMException . INVALID_STATE_ERR ) ; } // 3 if ( / [\u0100-\uffff] / . test ( header ) || Encode . utf8_encode ( header ) !== header ) { throw new x . DOMException ( x . DOMException . SYNTAX_ERR ) ; } // 4 /* this step is seemingly bypassed in browsers, probably to allow various unicode characters in header values
  				if (/[\u0100-\uffff]/.test(value) || Encode.utf8_encode(value) !== value) {
  					throw new x.DOMException(x.DOMException.SYNTAX_ERR);
  				}*/ header = Basic . trim ( header ) . toLowerCase ( ) ; // setting of proxy-* and sec-* headers is prohibited by spec if ( ! ! ~ Basic . inArray ( header , uaHeaders ) || / ^(proxy\-|sec\-) / . test ( header ) ) { return false ; } // camelize // browsers lowercase header names (at least for custom ones) // header = header.replace(/\b\w/g, function($1) { return $1.toUpperCase(); }); if ( ! _headers [ header ] ) { _headers [ header ] = value ; } else { // http://tools.ietf.org/html/rfc2616#section-4.2 (last paragraph) _headers [ header ] += ', ' + value ; } return true ; }