@@ -2,6 +2,7 @@ package tinify
22
33import (
44 "errors"
5+ "fmt"
56 "io"
67 "io/ioutil"
78 "net/http"
@@ -48,7 +49,13 @@ func FromFile(path string) (s *Source, err error) {
4849}
4950
5051func FromBuffer (buf []byte ) (s * Source , err error ) {
51- response , err := GetClient ().Request (http .MethodPost , "/shrink" , buf )
52+ ct := GetClient ()
53+ if ct == nil {
54+
55+ return nil , fmt .Errorf ("tinify client not initialized check api key" )
56+ }
57+
58+ response , err := ct .Request (http .MethodPost , "/shrink" , buf )
5259 if err != nil {
5360 return
5461 }
@@ -60,7 +67,12 @@ func FromBuffer(buf []byte) (s *Source, err error) {
6067func FromUrl (url string ) (s * Source , err error ) {
6168 if len (url ) == 0 {
6269 err = errors .New ("url is required" )
63- return
70+ return nil , err
71+ }
72+ ct := GetClient ()
73+ if ct == nil {
74+
75+ return nil , fmt .Errorf ("tinify client not initialized check api key" )
6476 }
6577
6678 body := map [string ]interface {}{
@@ -69,13 +81,13 @@ func FromUrl(url string) (s *Source, err error) {
6981 },
7082 }
7183
72- response , err := GetClient () .Request (http .MethodPost , "/shrink" , body )
84+ response , err := ct .Request (http .MethodPost , "/shrink" , body )
7385 if err != nil {
74- return
86+ return nil , err
7587 }
7688
7789 s , err = getSourceFromResponse (response )
78- return
90+ return s , err
7991}
8092
8193func getSourceFromResponse (response * http.Response ) (s * Source , err error ) {
@@ -121,7 +133,12 @@ func (s *Source) toResult() (r *Result, err error) {
121133 // return
122134 // }
123135 //}
124- response , err := GetClient ().Request (http .MethodGet , s .url , s .commands )
136+ ct := GetClient ()
137+ if ct == nil {
138+
139+ return nil , fmt .Errorf ("tinify client not initialized check api key" )
140+ }
141+ response , err := ct .Request (http .MethodGet , s .url , s .commands )
125142 if err != nil {
126143 return
127144 }
0 commit comments