// Package web provides functionality for dealing with web operations.
package web

import (
	"encoding/json"
	"net/http"
	"time"
)

// Timeout is the time it takes before a web request bails out waiting for a
// request.
const Timeout = 10 * time.Second

// ReadJSON reads JSON and parses it into your chosen interface pointer
func ReadJSON(url string, target interface{}) error {
	httpClient := &http.Client{Timeout: Timeout}
	res, err := httpClient.Get(url)
	if err != nil {
		return err
	}
	defer res.Body.Close()
	return json.NewDecoder(res.Body).Decode(target)
}