From 43ec251e1fa1b46e198b9001148b99f569f22efc Mon Sep 17 00:00:00 2001 From: furu04 Date: Sat, 16 Aug 2025 00:53:17 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B9=E3=83=86=E3=83=BC=E3=82=BF=E3=82=B9?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E5=8F=96=E5=BE=97=E9=96=A2=E6=95=B0?= =?UTF-8?q?=E3=82=92=E5=A4=A7=E3=81=BE=E3=81=8B=E3=81=AB=E5=AE=9F=E8=A3=85?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.go | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/app.go b/app.go index 934330d..58943f0 100644 --- a/app.go +++ b/app.go @@ -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){ + } \ No newline at end of file