From 1cebf3b440a35d532b51a13f4b3dd1a90e8cdab2 Mon Sep 17 00:00:00 2001 From: Mitchell Riedstra Date: Mon, 26 Jul 2021 16:58:25 -0400 Subject: hack at it a bit to support checking for things that should not redirect --- http.go | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'http.go') diff --git a/http.go b/http.go index daf8945..75f657b 100644 --- a/http.go +++ b/http.go @@ -1,14 +1,13 @@ package checkup import ( + "errors" "fmt" "net/http" "time" ) -func HttpStatusOK(url string, timeout, status int) error { - client := &http.Client{Timeout: time.Duration(timeout) * time.Second} - +func httpReq(client *http.Client, url string, timeout, status int) error { resp, err := client.Get(url) if err != nil { @@ -24,3 +23,20 @@ func HttpStatusOK(url string, timeout, status int) error { return nil } + +func HttpStatusOK(url string, timeout, status int) error { + client := &http.Client{Timeout: time.Duration(timeout) * time.Second} + return httpReq(client, url, timeout, status) +} + +func HttpNoRedirectStatusOK(url string, timeout, status int) error { + client := &http.Client{ + Timeout: time.Duration(timeout) * time.Second, + CheckRedirect: httpNoRedirectfunc, + } + return httpReq(client, url, timeout, status) +} + +func httpNoRedirectfunc(req *http.Request, via []*http.Request) error { + return errors.New("Redirected") +} -- cgit v1.2.3