summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jet tsang zeon-git <zeon-git@jettsang.com> 2024-02-02 09:41:53 +0800
committerGravatar jet tsang zeon-git <zeon-git@jettsang.com> 2024-02-02 09:41:53 +0800
commitebe235a19193004ab583cb930f8e5a1373f85574 (patch)
tree02b64ac7b7f9b31058b0974600a6db535ed5420f
parentadd header/KEY request (diff)
downloadrelay-ebe235a19193004ab583cb930f8e5a1373f85574.tar.gz
relay-ebe235a19193004ab583cb930f8e5a1373f85574.tar.bz2
relay-ebe235a19193004ab583cb930f8e5a1373f85574.zip
Refactor loadData function for better error handling and loggingHEADmaster
Signed-off-by: jet tsang zeon-git <zeon-git@jettsang.com>
-rw-r--r--main.go29
1 files changed, 22 insertions, 7 deletions
diff --git a/main.go b/main.go
index 06552ab..d978717 100644
--- a/main.go
+++ b/main.go
@@ -124,28 +124,43 @@ func loadData() {
var code string
if blockTxt != "" {
- if doc, err := htmlquery.LoadURL(listUrl); err != nil {
+ doc, err := htmlquery.LoadURL(listUrl)
+ if err != nil {
log.Println("url err:", listUrl)
return
- } else if found, err := htmlquery.QueryAll(doc, blockTxt); err != nil {
+ }
+ found, err := htmlquery.QueryAll(doc, blockTxt)
+ if err != nil {
log.Println("block not found", err)
return
- } else {
- code = htmlquery.InnerText(found[0])
}
+ if len(found) == 0 {
+ log.Println("No elements found")
+ return
+ }
+ code = htmlquery.InnerText(found[0])
} else {
var dst []byte
- _, byteCode, _ := fasthttp.Get(dst, string(listUrl))
+ statusCode, byteCode, err := fasthttp.Get(dst, string(listUrl))
+ if err != nil || statusCode != fasthttp.StatusOK {
+ log.Printf("HTTP request failed with status code %d\n", statusCode)
+ return
+ }
code = string(byteCode)
}
+
scanner := bufio.NewScanner(strings.NewReader(code))
for scanner.Scan() {
maplist := strings.Split(scanner.Text(), "#")
+ if len(maplist) < 2 {
+ log.Println("Invalid data format:", scanner.Text())
+ continue // Skip this iteration as the data format is not valid
+ }
shortenMap[maplist[0]] = maplist[1]
}
- log.Println("urls mapped.")
-
+ log.Println("URLs mapped.")
}
+
func GetBetweenStr(str, start, end string) string {
n := strings.Index(str, start) + len(start)
if n == -1 {