Skip to content

Commit 8402516

Browse files
committed
Merge pull request #77 from elnur/generate-absolute-fix
Fix absolute URLs not being generated when a scheme requirement is given
2 parents e61dde4 + 10d489f commit 8402516

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

Resources/js/router.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,8 @@ fos.Router.prototype.generate = function(name, opt_params, absolute) {
205205
}
206206

207207
url = this.context_.base_url + url;
208-
if (goog.object.containsKey(route.requirements, "_scheme")) {
209-
if (this.getScheme() != route.requirements["_scheme"]) {
210-
url = route.requirements["_scheme"] + "://" + this.getHost() + url;
211-
}
208+
if (goog.object.containsKey(route.requirements, "_scheme") && this.getScheme() != route.requirements["_scheme"]) {
209+
url = route.requirements["_scheme"] + "://" + this.getHost() + url;
212210
} else if (absolute === true) {
213211
url = this.getScheme() + "://" + this.getHost() + url;
214212
}

Resources/js/router.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ function testGenerateUsesAbsoluteUrl() {
6060
assertEquals('http://localhost/foo/bar', router.generate('homepage', [], true));
6161
}
6262

63+
function testGenerateUsesAbsoluteUrlWhenSchemeRequirementGiven() {
64+
var router = new fos.Router({base_url: '/foo', host: "localhost", scheme: "http"}, {
65+
homepage: {
66+
tokens: [['text', '/bar']],
67+
defaults: {},
68+
requirements: {"_scheme": "http"}
69+
}
70+
});
71+
72+
assertEquals('http://localhost/foo/bar', router.generate('homepage', [], true));
73+
}
74+
6375
function testGenerateWithOptionalTrailingParam() {
6476
var router = new fos.Router({base_url: ''}, {
6577
posts: {

Resources/public/js/router.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)