【发布时间】:2017-08-06 18:28:33
【问题描述】:
我只是在spotify的源代码中看了一点,发现这行代码:
var ALBUM_URI = 'hm://album/v1/album-app/album/';
我想知道这个hm:// 协议是什么。不幸的是,我在谷歌上没有找到任何东西。
A code-snippet Context taken FROM HERE:
var live = require('spotify-live');
var Cosmos = require('spotify-cosmos-api');
var ALBUM_URI = 'hm://album/v1/album-app/album/';
var formatData = require('../data_formatters');
/**
* Album model contains all album data
* @param {string} albumURI The Spotify uri for an album to create a model.
*/
function AlbumModel(albumURI) {
this.albumURI = albumURI;
this.album = live(albumURI);
}
AlbumModel.prototype.init = function(callback) {
this.callback = callback;
var requestURI = ALBUM_URI + this.albumURI + '/desktop';
Cosmos.resolver.get(requestURI, this.prepareData.bind(this));
};
AlbumModel.prototype.prepareData = function(error, data) {
if (error) {
var errorStatusCode = error.response ? error.response.getStatusCode() : 500;
var simplifiedStatusCode = 400;
if (400 <= errorStatusCode && errorStatusCode <= 410) {
simplifiedStatusCode = 400;
} else if (500 <= errorStatusCode && errorStatusCode <= 503) {
simplifiedStatusCode = 500;
}
this.callback(simplifiedStatusCode, {});
return;
}
var albumData = data.getJSONBody();
albumData = formatData(albumData);
if (!this.album.get('rows')) {
this.album.update(albumData);
}
this.callback(null, albumData);
};
module.exports = AlbumModel;
【问题讨论】:
标签: javascript protocols spotify