(function() { var urlRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; var HAL = { Models: {}, Views: {}, Http: {}, currentDocument: {}, jsonIndent: 2, isUrl: function(str) { return str.match(urlRegex) || HAL.isCurie(str); }, isCurie: function(string) { var isCurie = false; var curieParts = string.split(':'); var curies = HAL.currentDocument._links.curies; if(curieParts.length > 1 && curies) { for (var i=0; i 1) { var name = parts.shift().trim(); var value = parts.join(':').trim(); headers[name] = value; } }); return headers; }, customPostForm: undefined }; window.HAL = HAL; })();