44 "bytes"
55 "encoding/json"
66 "fmt"
7+ "io"
78 "net/http"
89 "net/url"
910
@@ -29,8 +30,22 @@ func NewHTTPDriver(basePath string, transport http.RoundTripper) *HTTPDriver {
2930 return & HTTPDriver {BasePath : basePath , Client : client }
3031}
3132
33+ func (driver * HTTPDriver ) newRequest (method , url string , body io.Reader ) (* http.Request , error ) {
34+ req , err := http .NewRequest (method , url , body )
35+ if err != nil {
36+ return nil , err
37+ }
38+
39+ return req , nil
40+ }
41+
3242func (driver * HTTPDriver ) ResolvePURL (domain string , name string ) (* url.URL , error ) {
33- response , err := driver .Client .Get (fmt .Sprintf ("%s/r/%s/%s" , driver .BasePath , domain , name ))
43+ req , err := driver .newRequest (http .MethodGet , fmt .Sprintf ("%s/r/%s/%s" , driver .BasePath , domain , name ), nil )
44+ if err != nil {
45+ return nil , err
46+ }
47+
48+ response , err := driver .Client .Do (req )
3449 if err != nil {
3550 return nil , err
3651 }
@@ -60,7 +75,7 @@ func (driver *HTTPDriver) SavePURL(purl *dsl.PURL) (string, error) {
6075 if err != nil {
6176 return "" , err
6277 }
63- req , err := http . NewRequest (http .MethodPut , fmt .Sprintf ("%s/a/domains/%s/purls/%s" , driver .BasePath , purl .Domain , purl .Name ), body )
78+ req , err := driver . newRequest (http .MethodPut , fmt .Sprintf ("%s/a/domains/%s/purls/%s" , driver .BasePath , purl .Domain , purl .Name ), body )
6479 if err != nil {
6580 return "" , err
6681 }
@@ -88,7 +103,7 @@ func (driver *HTTPDriver) SavePURL(purl *dsl.PURL) (string, error) {
88103}
89104
90105func (driver * HTTPDriver ) CreateDomain (name string ) error {
91- req , err := http . NewRequest (http .MethodPost , fmt .Sprintf ("%s/a/domains/%s" , driver .BasePath , name ), nil )
106+ req , err := driver . newRequest (http .MethodPost , fmt .Sprintf ("%s/a/domains/%s" , driver .BasePath , name ), nil )
92107 if err != nil {
93108 return err
94109 }
0 commit comments