handle http errors better
This commit is contained in:
		
							parent
							
								
									421b3d8f12
								
							
						
					
					
						commit
						e496a4b65b
					
				@ -36,7 +36,6 @@ func NewClient(baseURL, salt string) *Client {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Client) CalculateHash(url string) string {
 | 
			
		||||
	// The hash should be calculated by appending the salt to the URL with a colon separator.
 | 
			
		||||
	data := url + ":" + c.Salt
 | 
			
		||||
	hash := md5.Sum([]byte(data))
 | 
			
		||||
	return hex.EncodeToString(hash[:])
 | 
			
		||||
@ -71,12 +70,15 @@ func (c *Client) Scrape(ctx context.Context, url, selector string) (ScrapeRespon
 | 
			
		||||
	}
 | 
			
		||||
	defer resp.Body.Close()
 | 
			
		||||
 | 
			
		||||
	if resp.StatusCode != http.StatusOK {
 | 
			
		||||
		return ScrapeResponse{}, fmt.Errorf("received non-OK response: %s", resp.Status)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	body, err := ioutil.ReadAll(resp.Body)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return ScrapeResponse{}, fmt.Errorf("failed to read response body: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Since the response is HTML, we don't need to unmarshal JSON.
 | 
			
		||||
	content := string(body)
 | 
			
		||||
 | 
			
		||||
	return ScrapeResponse{
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user