diff options
| -rw-r--r-- | src/ngResource/resource.js | 5 | ||||
| -rw-r--r-- | test/ngResource/resourceSpec.js | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/ngResource/resource.js b/src/ngResource/resource.js index 827886a3..2df593c1 100644 --- a/src/ngResource/resource.js +++ b/src/ngResource/resource.js @@ -31,8 +31,7 @@ * * @param {string} url A parametrized URL template with parameters prefixed by `:` as in * `/user/:username`. If you are using a URL with a port number (e.g. - * `http://example.com:8080/api`), you'll need to escape the colon character before the port - * number, like this: `$resource('http://example.com\\:8080/api')`. + * `http://example.com:8080/api`), it will be respected. * * If you are using a url with a suffix, just add the suffix, like this: * `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json') @@ -345,7 +344,7 @@ angular.module('ngResource', ['ng']). var urlParams = self.urlParams = {}; forEach(url.split(/\W/), function(param){ - if (param && (new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) { + if (!(new RegExp("^\\d+$").test(param)) && param && (new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) { urlParams[param] = true; } }); diff --git a/test/ngResource/resourceSpec.js b/test/ngResource/resourceSpec.js index 6a709fb7..52395297 100644 --- a/test/ngResource/resourceSpec.js +++ b/test/ngResource/resourceSpec.js @@ -106,6 +106,13 @@ describe("resource", function() { R.get({a: 'foo', b: 'bar'}); }); + it('should support an unescaped url', function() { + var R = $resource('http://localhost:8080/Path/:a'); + + $httpBackend.expect('GET', 'http://localhost:8080/Path/foo').respond(); + R.get({a: 'foo'}); + }); + it('should correctly encode url params', function() { var R = $resource('/Path/:a'); |
