You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by da...@apache.org on 2016/05/30 10:29:56 UTC
[2/2] cordova-lib git commit: CB-11274 Platform browser: wrong path
for config.xml
CB-11274 Platform browser: wrong path for config.xml
Added redirection to the referer' platform content to resolve an URL against that platform www directory
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/0668ac05
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/0668ac05
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/0668ac05
Branch: refs/heads/master
Commit: 0668ac05a25afdc4b1817c7c7ca9191d86d4662f
Parents: dcc44c8
Author: daserge <v-...@microsoft.com>
Authored: Tue May 24 17:06:56 2016 +0300
Committer: daserge <v-...@microsoft.com>
Committed: Wed May 25 14:33:17 2016 +0300
----------------------------------------------------------------------
cordova-lib/src/cordova/serve.js | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0668ac05/cordova-lib/src/cordova/serve.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/cordova/serve.js b/cordova-lib/src/cordova/serve.js
index 2c4bba7..114edb5 100644
--- a/cordova-lib/src/cordova/serve.js
+++ b/cordova-lib/src/cordova/serve.js
@@ -93,6 +93,28 @@ function getPlatformHandler(platform, wwwDir, configXml) {
};
}
+// https://issues.apache.org/jira/browse/CB-11274
+// Use referer url to redirect absolute urls to the requested platform resources
+// so that an URL is resolved against that platform www directory.
+function getAbsolutePathHandler() {
+ return function (request, response, next) {
+ if (!request.headers.referer) {
+ next();
+ return;
+ }
+
+ var pathname = url.parse(request.headers.referer).pathname;
+ var platform = pathname.split('/')[1];
+
+ if (installedPlatforms.indexOf(platform) >= 0 &&
+ request.originalUrl.indexOf(platform) === -1) {
+ response.redirect('/' + platform + '/www' + request.originalUrl);
+ } else {
+ next();
+ }
+ };
+}
+
function calculateMd5(fileName) {
var md5sum,
BUF_LENGTH = 64*1024,
@@ -133,6 +155,8 @@ module.exports = function server(port, opts) {
server.app.use('/' + platform + '/www', serve.static(locations.www));
server.app.get('/' + platform + '/*', getPlatformHandler(platform, locations.www, locations.configXml));
});
+
+ server.app.get('/*', getAbsolutePathHandler());
server.app.get('*', handleRoot);
server.launchServer({port: port, events: events});
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org