SocialDragon/tumblr/http.go
2020-01-15 23:10:20 +01:00

35 lines
621 B
Go

package tumblr
import (
"errors"
"log"
"net/http"
"strconv"
)
var sem = make(chan byte, 2)
var client = &http.Client{}
// GetHTTPResource gets http resources with Tumblr headers
func GetHTTPResource(u string) (*http.Response, error) {
sem <- 1
req, err := http.NewRequest("GET", u, nil)
if err != nil {
log.Fatalf("FAT HTTP - Failed to create new Request: %+v", err)
<-sem
return nil, err
}
res, err := client.Do(req)
if err != nil {
<-sem
return nil, err
}
if res.StatusCode != 200 {
res.Body.Close()
<-sem
return nil, errors.New(strconv.Itoa(res.StatusCode))
}
<-sem
return res, nil
}