Fix an issue with hashes ending with a slash

This commit is contained in:
yflory 2017-04-28 15:47:31 +02:00
parent d9b5eb8a97
commit a51a35da70
2 changed files with 13 additions and 5 deletions

View File

@ -270,5 +270,10 @@ Version 2
return '/blob/' + id.slice(0,2) + '/' + id;
};
var serializeHash = Hash.serializeHash = function (hash) {
if (hash && hash.slice(-1) !== "/") { hash += "/"; }
return hash;
};
return Hash;
});

View File

@ -82,6 +82,7 @@ define([
common.createChannelId = Hash.createChannelId;
common.findWeaker = Hash.findWeaker;
common.findStronger = Hash.findStronger;
common.serializeHash = Hash.serializeHash;
// History
common.getHistory = function (config) { return History.create(common, config); };
@ -166,6 +167,7 @@ define([
var login = common.login = function (hash, name, cb) {
if (!hash) { throw new Error('expected a user hash'); }
if (!name) { throw new Error('expected a user name'); }
hash = common.serializeHash(hash);
localStorage.setItem(userHashKey, hash);
localStorage.setItem(userNameKey, name);
if (cb) { cb(); }
@ -216,11 +218,12 @@ define([
};
var getUserHash = common.getUserHash = function () {
var hash;
[sessionStorage, localStorage].some(function (s) {
var h = s[userHashKey];
if (h) { return (hash = h); }
});
var hash = localStorage[userHashKey];
if (hash) {
var sHash = common.serializeHash(hash);
if (sHash !== hash) { localStorage[userHashKey] = sHash; }
}
return hash;
};