summaryrefslogtreecommitdiff
path: root/app/controllers/url.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/url.go')
-rw-r--r--app/controllers/url.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/app/controllers/url.go b/app/controllers/url.go
new file mode 100644
index 0000000..516f6a6
--- /dev/null
+++ b/app/controllers/url.go
@@ -0,0 +1,28 @@
+package controllers
+
+import (
+ "crypto/md5"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "net/http"
+)
+
+func HashUrl(url string) (string, error) {
+ response, err := http.Get(url)
+ if err != nil {
+ return "Get request failed.", err
+ }
+
+ defer response.Body.Close()
+ contents, err := ioutil.ReadAll(response.Body)
+ if er != nil {
+ return "Reading body failed.", err
+ }
+
+ h := md5.New()
+ io.WriteString(h, string(contents))
+ hash := fmt.Sprintf("%x", h.Sum(nil))
+
+ return hash, nil
+}