Sha256: bbdb215129803a65fc050aef5c616ee7fa4bd01d51c8da0f26f367751310dec6

Contents?: true

Size: 1.74 KB

Versions: 120

Compression:

Stored size: 1.74 KB

Contents

(function() {
  var urlRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;

  function isCurie(string) {
    return string.split(':').length > 1;
  };

  var HAL = {
    Models: {},
    Views: {},
    Http: {},
    currentDocument: {},
    jsonIndent: 2,
    isUrl: function(str) {
      return str.match(urlRegex) || isCurie(str);
    },
    truncateIfUrl: function(str) {
      var replaceRegex = /(http|https):\/\/([^\/]*)\//;
        return str.replace(replaceRegex, '.../');
    },
    buildUrl: function(rel) {
      if (!HAL.currentDocument._links) {
        return rel;
      }
      if (!rel.match(urlRegex) && isCurie(rel) && HAL.currentDocument._links.curies) {
        var parts = rel.split(':');
        var curies = HAL.currentDocument._links.curies;
        for (var i=0; i<curies.length; i++) {
          if (curies[i].name == parts[0]) {
            var tmpl = uritemplate(curies[i].href);
            return tmpl.expand({ rel: parts[1] });
          }
        }
      }
      else if (!rel.match(urlRegex) && isCurie(rel) && HAL.currentDocument._links.curie) {
        // Backward compatibility with <04 version of spec.
        var tmpl = uritemplate(HAL.currentDocument._links.curie.href);
        return tmpl.expand({ rel: rel.split(':')[1] });
      }
      else {
        return rel;
      }
    },
    parseHeaders: function(string) {
      var header_lines = string.split("\n");
      var headers = {};
      _.each(header_lines, function(line) {
        var parts = line.split(':');
        if (parts.length > 1) {
          var name = parts.shift().trim();
          var value = parts.join(':').trim();
          headers[name] = value;
        }
      });
      return headers;
    },
  };

  window.HAL = HAL;
})();

Version data entries

120 entries across 120 versions & 1 rubygems

Version Path
pact_broker-2.53.0 vendor/hal-browser/js/hal.js
pact_broker-2.52.2 vendor/hal-browser/js/hal.js
pact_broker-2.52.1 vendor/hal-browser/js/hal.js
pact_broker-2.52.0 vendor/hal-browser/js/hal.js
pact_broker-2.51.0 vendor/hal-browser/js/hal.js
pact_broker-2.50.1 vendor/hal-browser/js/hal.js
pact_broker-2.50.0 vendor/hal-browser/js/hal.js
pact_broker-2.49.0 vendor/hal-browser/js/hal.js
pact_broker-2.48.0 vendor/hal-browser/js/hal.js
pact_broker-2.47.1 vendor/hal-browser/js/hal.js
pact_broker-2.47.0 vendor/hal-browser/js/hal.js
pact_broker-2.46.0 vendor/hal-browser/js/hal.js
pact_broker-2.45.0 vendor/hal-browser/js/hal.js
pact_broker-2.44.0 vendor/hal-browser/js/hal.js
pact_broker-2.43.0 vendor/hal-browser/js/hal.js
pact_broker-2.42.0 vendor/hal-browser/js/hal.js
pact_broker-2.41.0 vendor/hal-browser/js/hal.js
pact_broker-2.40.0 vendor/hal-browser/js/hal.js
pact_broker-2.39.0 vendor/hal-browser/js/hal.js
pact_broker-2.38.1 vendor/hal-browser/js/hal.js