Code coverage report for src/headers.js

Statements: 97.22% (35 / 36)      Branches: 75% (6 / 8)      Functions: 100% (10 / 10)      Lines: 100% (34 / 34)      Ignored: none     

All files » src/ » headers.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 771     1   123   1     1 1 123   123   123     1 65     1 11     1 1     1 52     52 21                     1 41 41 3     38 38 77     77 77 41 41 41       38     1     1        
System.register([], function (_export) {
  'use strict';
 
  var Headers;
 
  function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
  return {
    setters: [],
    execute: function () {
      Headers = (function () {
        function Headers() {
          var headers = arguments[0] === undefined ? {} : arguments[0];
 
          _classCallCheck(this, Headers);
 
          this.headers = headers;
        }
 
        Headers.prototype.add = function add(key, value) {
          this.headers[key] = value;
        };
 
        Headers.prototype.get = function get(key) {
          return this.headers[key];
        };
 
        Headers.prototype.clear = function clear() {
          this.headers = {};
        };
 
        Headers.prototype.configureXHR = function configureXHR(xhr) {
          var headers = this.headers,
              key;
 
          for (key in headers) {
            xhr.setRequestHeader(key, headers[key]);
          }
        };
 
        /**
         * XmlHttpRequest's getAllResponseHeaders() method returns a string of response
         * headers according to the format described here:
         * http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders-method
         * This method parses that string into a user-friendly key/value pair object.
         */
 
        Headers.parse = function parse(headerStr) {
          var headers = new Headers();
          if (!headerStr) {
            return headers;
          }
 
          var headerPairs = headerStr.split('\r\n');
          for (var i = 0; i < headerPairs.length; i++) {
            var headerPair = headerPairs[i];
            // Can't use split() here because it does the wrong thing
            // if the header value has the string ": " in it.
            var index = headerPair.indexOf(': ');
            if (index > 0) {
              var key = headerPair.substring(0, index);
              var val = headerPair.substring(index + 2);
              headers.add(key, val);
            }
          }
 
          return headers;
        };
 
        return Headers;
      })();
 
      _export('Headers', Headers);
    }
  };
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL2h0dHAtY2xpZW50L3NyYy9oZWFkZXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztNQUFhLE9BQU87Ozs7Ozs7QUFBUCxhQUFPO0FBQ1AsaUJBREEsT0FBTyxHQUNLO2NBQVgsT0FBTyxnQ0FBQyxFQUFFOztnQ0FEWCxPQUFPOztBQUVoQixjQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUN4Qjs7QUFIVSxlQUFPLFdBS2xCLEdBQUcsR0FBQSxhQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUM7QUFDYixjQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUMzQjs7QUFQVSxlQUFPLFdBU2xCLEdBQUcsR0FBQSxhQUFDLEdBQUcsRUFBQztBQUNOLGlCQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUI7O0FBWFUsZUFBTyxXQWFsQixLQUFLLEdBQUEsaUJBQUU7QUFDTCxjQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztTQUNuQjs7QUFmVSxlQUFPLFdBaUJsQixZQUFZLEdBQUEsc0JBQUMsR0FBRyxFQUFDO0FBQ2YsY0FBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU87Y0FBRSxHQUFHLENBQUM7O0FBRWhDLGVBQUksR0FBRyxJQUFJLE9BQU8sRUFBQztBQUNqQixlQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQ3pDO1NBQ0Y7Ozs7Ozs7OztBQXZCVSxlQUFPLENBK0JYLEtBQUssR0FBQSxlQUFDLFNBQVMsRUFBQztBQUNyQixjQUFJLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzVCLGNBQUksQ0FBQyxTQUFTLEVBQUU7QUFDZCxtQkFBTyxPQUFPLENBQUM7V0FDaEI7O0FBRUQsY0FBSSxXQUFXLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFjLENBQUMsQ0FBQztBQUNsRCxlQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMzQyxnQkFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7QUFHaEMsZ0JBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBYyxDQUFDLENBQUM7QUFDL0MsZ0JBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtBQUNiLGtCQUFJLEdBQUcsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN6QyxrQkFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDMUMscUJBQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RCO1dBQ0Y7O0FBRUQsaUJBQU8sT0FBTyxDQUFDO1NBQ2hCOztlQW5EVSxPQUFPOzs7eUJBQVAsT0FBTyIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS9odHRwLWNsaWVudC9zcmMvaGVhZGVycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBIZWFkZXJzIHtcbiAgY29uc3RydWN0b3IoaGVhZGVycz17fSl7XG4gICAgdGhpcy5oZWFkZXJzID0gaGVhZGVycztcbiAgfVxuXG4gIGFkZChrZXksIHZhbHVlKXtcbiAgICB0aGlzLmhlYWRlcnNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0KGtleSl7XG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyc1trZXldO1xuICB9XG5cbiAgY2xlYXIoKXtcbiAgICB0aGlzLmhlYWRlcnMgPSB7fTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVhIUih4aHIpe1xuICAgIHZhciBoZWFkZXJzID0gdGhpcy5oZWFkZXJzLCBrZXk7XG5cbiAgICBmb3Ioa2V5IGluIGhlYWRlcnMpe1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBYbWxIdHRwUmVxdWVzdCdzIGdldEFsbFJlc3BvbnNlSGVhZGVycygpIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIG9mIHJlc3BvbnNlXG4gICAqIGhlYWRlcnMgYWNjb3JkaW5nIHRvIHRoZSBmb3JtYXQgZGVzY3JpYmVkIGhlcmU6XG4gICAqIGh0dHA6Ly93d3cudzMub3JnL1RSL1hNTEh0dHBSZXF1ZXN0LyN0aGUtZ2V0YWxscmVzcG9uc2VoZWFkZXJzLW1ldGhvZFxuICAgKiBUaGlzIG1ldGhvZCBwYXJzZXMgdGhhdCBzdHJpbmcgaW50byBhIHVzZXItZnJpZW5kbHkga2V5L3ZhbHVlIHBhaXIgb2JqZWN0LlxuICAgKi9cbiAgc3RhdGljIHBhcnNlKGhlYWRlclN0cil7XG4gICAgdmFyIGhlYWRlcnMgPSBuZXcgSGVhZGVycygpO1xuICAgIGlmICghaGVhZGVyU3RyKSB7XG4gICAgICByZXR1cm4gaGVhZGVycztcbiAgICB9XG5cbiAgICB2YXIgaGVhZGVyUGFpcnMgPSBoZWFkZXJTdHIuc3BsaXQoJ1xcdTAwMGRcXHUwMDBhJyk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFkZXJQYWlycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGhlYWRlclBhaXIgPSBoZWFkZXJQYWlyc1tpXTtcbiAgICAgIC8vIENhbid0IHVzZSBzcGxpdCgpIGhlcmUgYmVjYXVzZSBpdCBkb2VzIHRoZSB3cm9uZyB0aGluZ1xuICAgICAgLy8gaWYgdGhlIGhlYWRlciB2YWx1ZSBoYXMgdGhlIHN0cmluZyBcIjogXCIgaW4gaXQuXG4gICAgICB2YXIgaW5kZXggPSBoZWFkZXJQYWlyLmluZGV4T2YoJ1xcdTAwM2FcXHUwMDIwJyk7XG4gICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgIHZhciBrZXkgPSBoZWFkZXJQYWlyLnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgICAgIHZhciB2YWwgPSBoZWFkZXJQYWlyLnN1YnN0cmluZyhpbmRleCArIDIpO1xuICAgICAgICBoZWFkZXJzLmFkZChrZXksdmFsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxufVxuIl19