Spaces:
Runtime error
Runtime error
| import { debugLog, makeRequest, encodeTrack } from '../utils.js' | |
| async function loadFrom(uri) { | |
| const type = uri.startsWith('http://') ? 'http' : 'https' | |
| debugLog('loadtracks', 4, { type: 1, loadType: 'track', sourceName: type, query: uri }) | |
| const data = await makeRequest(uri, { method: 'HEAD' }) | |
| if (data.error) { | |
| debugLog('loadtracks', 4, { type: 3, loadType: 'track', sourceName: type, query: uri, message: 'Not possible to connect to the URL.', }) | |
| return { | |
| message: 'Not possible to connect to the URL.', | |
| severity: 'fault', | |
| cause: 'Unknown' | |
| } | |
| } | |
| if (!data.headers || !data.headers['content-type']?.startsWith('audio/')) { | |
| debugLog('loadtracks', 4, { type: 2, loadType: 'error', sourceName: type, query: uri, message: 'Url is not a playable stream.' }) | |
| return { | |
| loadType: 'error', | |
| data: { | |
| message: 'URL is not a playable stream.', | |
| severity: 'common', | |
| cause: 'Invalid URL' | |
| } | |
| } | |
| } | |
| const track = { | |
| identifier: 'unknown', | |
| isSeekable: false, | |
| author: 'unknown', | |
| length: -1, | |
| isStream: false, | |
| position: 0, | |
| title: 'unknown', | |
| uri, | |
| artworkUrl: null, | |
| isrc: null, | |
| sourceName: type | |
| } | |
| debugLog('loadtracks', 4, { type: 2, loadType: 'track', sourceName: type, track, query: uri }) | |
| return { | |
| loadType: 'track', | |
| data: { | |
| encoded: encodeTrack(track), | |
| info: track, | |
| pluginInfo: {} | |
| } | |
| } | |
| } | |
| export default { | |
| loadFrom | |
| } |