@@ -5,6 +5,7 @@ const controller = require("../controller/recommendations");
5
5
const parseData = require ( '../util/providers/parseData' ) ;
6
6
let { setState, sendRunning, sendError, sendFinished} = require ( "./integrations" ) ;
7
7
const serverController = require ( "../controller/servers" ) ;
8
+ const cloudflareTask = require ( "./cloudflare" ) ;
8
9
9
10
let isRunning = false ;
10
11
@@ -33,26 +34,6 @@ const createRecommendations = async () => {
33
34
}
34
35
}
35
36
36
- module . exports . executeCloudflare = async ( ) => {
37
- try {
38
- const { default : SpeedTest } = await import ( '@cloudflare/speedtest' ) ;
39
-
40
- // This needs to be disabled because of a library issue
41
- // See https://github.com/cloudflare/speedtest/issues/17
42
- console . warn = ( ) => { } ;
43
-
44
- const startTime = new Date ( ) . getTime ( ) ;
45
- return await new Promise ( resolve => {
46
- const speedTest = new SpeedTest ( ) ;
47
- speedTest . onFinish = results => {
48
- resolve ( { ...results . getSummary ( ) , elapsed : new Date ( ) . getTime ( ) - startTime } ) ;
49
- }
50
- } ) ;
51
- } catch ( error ) {
52
- console . error ( 'Error loading SpeedTest module:' , error ) ;
53
- }
54
- }
55
-
56
37
module . exports . run = async ( retryAuto = false ) => {
57
38
setRunning ( true ) ;
58
39
let mode = await config . getValue ( "provider" ) ;
@@ -69,7 +50,9 @@ module.exports.run = async (retryAuto = false) => {
69
50
70
51
let speedtest ;
71
52
if ( mode === "cloudflare" ) {
72
- speedtest = await this . executeCloudflare ( ) ;
53
+ const startTime = new Date ( ) . getTime ( ) ;
54
+ speedtest = await cloudflareTask ( ) ;
55
+ speedtest = { ...speedtest , elapsed : ( new Date ( ) . getTime ( ) - startTime ) / 1000 } ;
73
56
} else {
74
57
speedtest = await ( retryAuto ? speedTest ( mode ) : speedTest ( mode , serverId ) ) ;
75
58
}
0 commit comments