diff --git a/src/Angular.js b/src/Angular.js index 5d3be1488681..eb44c55e40d3 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -1140,3 +1140,21 @@ function getter(obj, path, bindFnToScope) { } return obj; } + +function buildUrl(url, params) { + if (!params) return url; + var parts = []; + forEachSorted(params, function(value, key) { + if (value == null || value == undefined) return; + if (!isArray(value)) value = [value]; + + forEach(value, function(v) { + if (isObject(v)) { + v = toJson(v); + } + parts.push(encodeUriQuery(key) + '=' + + encodeUriQuery(v)); + }); + }); + return url + ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&'); +} diff --git a/src/AngularPublic.js b/src/AngularPublic.js index 53ad5aabfb4f..86f358d36d4e 100755 --- a/src/AngularPublic.js +++ b/src/AngularPublic.js @@ -25,6 +25,7 @@ var version = { function publishExternalAPI(angular){ extend(angular, { 'bootstrap': bootstrap, + 'buildUrl' : buildUrl, 'copy': copy, 'extend': extend, 'equals': equals, diff --git a/src/ng/http.js b/src/ng/http.js index d81b7912a3de..c01d8c23affb 100644 --- a/src/ng/http.js +++ b/src/ng/http.js @@ -997,26 +997,5 @@ function $HttpProvider() { if (idx !== -1) $http.pendingRequests.splice(idx, 1); } } - - - function buildUrl(url, params) { - if (!params) return url; - var parts = []; - forEachSorted(params, function(value, key) { - if (value == null || value == undefined) return; - if (!isArray(value)) value = [value]; - - forEach(value, function(v) { - if (isObject(v)) { - v = toJson(v); - } - parts.push(encodeUriQuery(key) + '=' + - encodeUriQuery(v)); - }); - }); - return url + ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&'); - } - - }]; }