Skip to content

Commit df44d44

Browse files
authored
fix: specify servers with new api (#147)
1 parent cdb3343 commit df44d44

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

speedtest.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"os"
7+
"strconv"
78
"time"
89

910
"github.com/showwin/speedtest-go/speedtest"
@@ -78,6 +79,17 @@ func main() {
7879
task.CheckError(err)
7980
targets = []*speedtest.Server{target}
8081
task.Println("Skip: Using Custom Server")
82+
} else if len(*serverIds) > 0 {
83+
// TODO: need async fetch to speedup
84+
for _, id := range *serverIds {
85+
serverPtr, errFetch := speedtestClient.FetchServerByID(strconv.Itoa(id))
86+
if errFetch != nil {
87+
continue // Silently Skip all ids that actually don't exist.
88+
}
89+
targets = append(targets, serverPtr)
90+
}
91+
task.CheckError(err)
92+
task.Printf("Found %d Specified Public Servers", len(targets))
8193
} else {
8294
servers, err = speedtestClient.FetchServers()
8395
task.CheckError(err)

speedtest/server.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ func (servers Servers) FindServer(serverID []int) (Servers, error) {
344344
id, _ := strconv.Atoi(s.ID)
345345
if sid == id {
346346
retServer = append(retServer, s)
347+
break
347348
}
348349
}
349350
}

0 commit comments

Comments
 (0)