@@ -22,6 +22,7 @@ type HttpTestResult struct {
22
22
StatusCode int
23
23
Headers map [string ]string
24
24
BodyString string
25
+ Variables map [string ]string
25
26
}
26
27
27
28
func HttpTest (
@@ -44,21 +45,24 @@ func HttpTest(
44
45
cobra .CheckErr ("no base URL provided" )
45
46
}
46
47
finalBaseURL = strings .TrimSuffix (finalBaseURL , "/" )
48
+ interpolatedPath := interpolateVariables (request .Request .Path , variables )
49
+ completeURL := fmt .Sprintf ("%s%s" , finalBaseURL , interpolatedPath )
47
50
48
51
var r * http.Request
49
52
if request .Request .BodyJSON != nil {
50
53
dat , err := json .Marshal (request .Request .BodyJSON )
51
54
cobra .CheckErr (err )
52
- r , err = http .NewRequest (request .Request .Method , fmt .Sprintf ("%s%s" ,
53
- finalBaseURL , request .Request .Path ), bytes .NewBuffer (dat ))
55
+ interpolatedBodyJSONStr := interpolateVariables (string (dat ), variables )
56
+ r , err = http .NewRequest (request .Request .Method , completeURL ,
57
+ bytes .NewBuffer ([]byte (interpolatedBodyJSONStr )),
58
+ )
54
59
if err != nil {
55
60
cobra .CheckErr ("Failed to create request" )
56
61
}
57
62
r .Header .Add ("Content-Type" , "application/json" )
58
63
} else {
59
64
var err error
60
- r , err = http .NewRequest (request .Request .Method , fmt .Sprintf ("%s%s" ,
61
- finalBaseURL , request .Request .Path ), nil )
65
+ r , err = http .NewRequest (request .Request .Method , completeURL , nil )
62
66
if err != nil {
63
67
cobra .CheckErr ("Failed to create request" )
64
68
}
@@ -92,13 +96,14 @@ func HttpTest(
92
96
for k , v := range resp .Header {
93
97
headers [k ] = strings .Join (v , "," )
94
98
}
99
+ parseVariables (body , request .ResponseVariables , variables )
95
100
responses [i ] = HttpTestResult {
96
101
RequestHeaders : r .Header ,
97
102
StatusCode : resp .StatusCode ,
98
103
Headers : headers ,
99
104
BodyString : string (body ),
105
+ Variables : variables ,
100
106
}
101
- parseVariables (body , request .ResponseVariables , variables )
102
107
}
103
108
return responses , finalBaseURL
104
109
}
0 commit comments