change from node-fetch to axios. Seems to be less strict. Confirmed working for remote servers whereas node-fetch would throw error 'Only absolute URLs are supported' if server was remote."
This commit is contained in:
parent
5b989cf5be
commit
d5f4bea481
26
package-lock.json
generated
26
package-lock.json
generated
@ -1362,6 +1362,14 @@
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
|
||||
"integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
|
||||
},
|
||||
"axios": {
|
||||
"version": "0.19.2",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
|
||||
"integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
|
||||
"requires": {
|
||||
"follow-redirects": "1.5.10"
|
||||
}
|
||||
},
|
||||
"babel-plugin-dynamic-import-node": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
|
||||
@ -3189,6 +3197,24 @@
|
||||
"unpipe": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.5.10",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
|
||||
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
|
||||
"requires": {
|
||||
"debug": "=3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"for-in": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
||||
|
||||
@ -18,13 +18,13 @@
|
||||
"dependencies": {
|
||||
"angular": "^1.7.9",
|
||||
"angular-router-browserify": "0.0.2",
|
||||
"axios": "^0.19.2",
|
||||
"body-parser": "^1.19.0",
|
||||
"diskdb": "^0.1.17",
|
||||
"express": "^4.17.1",
|
||||
"uuid": "^8.0.0",
|
||||
"node-fetch": "^2.6.0",
|
||||
"node-ssdp": "^4.0.0",
|
||||
"request": "^2.88.2",
|
||||
"uuid": "^8.0.0",
|
||||
"xml-writer": "^1.7.0"
|
||||
},
|
||||
"bin": "dist/index.js",
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
const { v4: uuidv4 } = require('uuid');
|
||||
const fetch = require('node-fetch');
|
||||
const axios = require('axios');
|
||||
|
||||
class PlexTranscoder {
|
||||
constructor(settings, lineupItem) {
|
||||
@ -146,12 +146,15 @@ lang=en`
|
||||
}
|
||||
|
||||
async getDecision() {
|
||||
const response = await fetch(`${this.server.uri}/video/:/transcode/universal/decision?${this.transcodingArgs}`, {
|
||||
method: 'GET', headers: {
|
||||
Accept: 'application/json'
|
||||
}
|
||||
await axios.get(`${this.server.uri}/video/:/transcode/universal/decision?${this.transcodingArgs}`, {
|
||||
headers: { Accept: 'application/json' }
|
||||
})
|
||||
.then((res) => {
|
||||
this.decisionJson = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
this.decisionJson = await response.json();
|
||||
}
|
||||
|
||||
getStatusUrl() {
|
||||
@ -196,10 +199,7 @@ X-Plex-Token=${this.server.accessToken}`;
|
||||
}
|
||||
|
||||
updatePlex() {
|
||||
let postUrl = this.getStatusUrl();
|
||||
fetch(postUrl, {
|
||||
method: 'POST'
|
||||
});
|
||||
axios.post(this.getStatusUrl());
|
||||
this.currTimeMs += this.updateInterval;
|
||||
if (this.currTimeMs > this.duration) {
|
||||
this.currTimeMs = this.duration;
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
const Plex = require('../../src/plex');
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
module.exports = function ($http, $window, $interval) {
|
||||
return {
|
||||
@ -34,14 +33,19 @@ module.exports = function ($http, $window, $interval) {
|
||||
}
|
||||
if (r2.data.authToken !== null) {
|
||||
$interval.cancel(interval)
|
||||
try {
|
||||
headers['X-Plex-Token'] = r2.data.authToken
|
||||
let res_servers = []
|
||||
const getServers = await fetch(`https://plex.tv/api/v2/resources?includeHttps=1`, {
|
||||
method: 'GET', headers: headers
|
||||
});
|
||||
const servers = await getServers.json();
|
||||
|
||||
headers['X-Plex-Token'] = r2.data.authToken
|
||||
|
||||
$http({
|
||||
method: 'GET',
|
||||
url: 'https://plex.tv/api/v2/resources?includeHttps=1',
|
||||
headers: headers
|
||||
})
|
||||
.then((r3) => {
|
||||
let res_servers = []
|
||||
|
||||
const servers = r3.data;
|
||||
|
||||
servers.forEach((server) => {
|
||||
// not pms, skip
|
||||
if (server.provides != `server`)
|
||||
@ -53,15 +57,16 @@ module.exports = function ($http, $window, $interval) {
|
||||
server.protocol = server.connections[i].protocol
|
||||
server.address = server.connections[i].address
|
||||
server.port = server.connections[i].port
|
||||
|
||||
|
||||
res_servers.push(server);
|
||||
});
|
||||
|
||||
res.servers = res_servers
|
||||
resolve(res)
|
||||
} catch (err) {
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
});
|
||||
}
|
||||
}, (err) => {
|
||||
$interval.cancel(interval)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user