2016-09-07 03:34:56 -05:00
|
|
|
package social
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2017-05-26 07:35:32 -05:00
|
|
|
"io/ioutil"
|
|
|
|
"net/http"
|
2016-09-07 03:34:56 -05:00
|
|
|
"strings"
|
2017-05-26 07:35:32 -05:00
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/log"
|
2016-09-07 03:34:56 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
func isEmailAllowed(email string, allowedDomains []string) bool {
|
|
|
|
if len(allowedDomains) == 0 {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
valid := false
|
|
|
|
for _, domain := range allowedDomains {
|
|
|
|
emailSuffix := fmt.Sprintf("@%s", domain)
|
|
|
|
valid = valid || strings.HasSuffix(email, emailSuffix)
|
|
|
|
}
|
|
|
|
|
|
|
|
return valid
|
|
|
|
}
|
2017-05-26 07:35:32 -05:00
|
|
|
|
|
|
|
func HttpGet(client *http.Client, url string) ([]byte, error) {
|
|
|
|
r, err := client.Get(url)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
defer r.Body.Close()
|
|
|
|
|
|
|
|
body, err := ioutil.ReadAll(r.Body)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
if r.StatusCode >= 300 {
|
|
|
|
return nil, fmt.Errorf(string(body))
|
|
|
|
}
|
|
|
|
|
|
|
|
log.Trace("HTTP GET %s: %s %s", url, r.Status, string(body))
|
|
|
|
|
|
|
|
return body, nil
|
|
|
|
}
|