ステータスコード取得関数を大まかに実装。

This commit is contained in:
2025-08-16 00:53:17 +09:00
parent 451d45ed06
commit 43ec251e1f

32
app.go
View File

@@ -1,12 +1,14 @@
package main
import (
"database/sql"
"net/http"
"os"
"time"
"github.com/gin-gonic/gin"
"github.com/go-yaml/yaml"
"os"
_ "github.com/mattn/go-sqlite3"
"database/sql"
)
type Config struct {
@@ -47,7 +49,14 @@ func main() {
})
r.GET("/api/getStatus/:URL", func(c *gin.Context) {
// 指定したサイトのステータス情報をJSON形式で返す
url := c.Param("URL")
url := c.Param("URL", 0)
status := getstatus(url)
c.JSON(http.StatusOK, gin.H{
"url": url,
"status": status,
"checked_at": time.Now().Format("2006-01-02 15:04:05"),
})
})
r.Run(":8080")
@@ -76,10 +85,17 @@ func initdb(){
}
}
func getstatus(url string) string {
if url == "" {
// 全てのWebサイトをチェックする
} else{
// 指定したWebサイトのみをチェックする
func getstatus(url string) (int) {
//TODO: 鯖落ち検知時の返り値
r ,err := http.Head(url)
if err != nil {
return -1
}
defer r.Body.Close()
return r.StatusCode
}
func getstatusAll(url string) (string, string){
}