From 3cb6f83d827bf788411888276af1419e6cd62105 Mon Sep 17 00:00:00 2001 From: Yota Toyama Date: Sat, 18 Nov 2017 19:52:48 +0900 Subject: [PATCH] Use fasthttp --- url_checker.go | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/url_checker.go b/url_checker.go index 0fabf8c..1cefabe 100644 --- a/url_checker.go +++ b/url_checker.go @@ -1,34 +1,26 @@ package main import ( - "net/http" "sync" "time" + + "github.com/valyala/fasthttp" ) type urlChecker struct { - client http.Client + timeout time.Duration semaphore semaphore } func newURLChecker(t time.Duration, s semaphore) urlChecker { - return urlChecker{http.Client{Timeout: t}, s} + return urlChecker{t, s} } -func (c urlChecker) Check(s string) (resultErr error) { +func (c urlChecker) Check(u string) error { c.semaphore.Request() defer c.semaphore.Release() - res, err := c.client.Get(s) - - if err != nil && res != nil { - defer func() { - if err := res.Body.Close(); err != nil { - resultErr = err - } - }() - } - + _, _, err := fasthttp.GetTimeout(nil, u, c.timeout) return err }