@@ -30,6 +30,18 @@ const (
3030 FailAssertResponseHeaderValue
3131)
3232
33+ // In case there is a proxy caching resources. Potentially appending a URL
34+ // parameter would work better.
35+ var NoCacheRequestHeaders = map [string ][]string {
36+ "Cache-Control" : []string {"no-cache" },
37+ }
38+
39+ var NoCacheClient = & http.Client {
40+ Transport : & http.Transport {
41+ DisableKeepAlives : true ,
42+ },
43+ }
44+
3345const DEFAULT_SPEC_FILE = "urls.json"
3446const MANUAL = `Usage: validate-http-headers SPECFILES...
3547Iterates through SPECFILES, making requests and validating responses headers
@@ -119,7 +131,9 @@ func validateSpecFile(filename string) []int {
119131 errorCodes = append (errorCodes , InvalidRequest )
120132 break
121133 }
122- requestHeaders := clone (defaultSpec .RequestHeaders , spec .RequestHeaders )
134+ requestHeaders := clone (NoCacheRequestHeaders ,
135+ defaultSpec .RequestHeaders ,
136+ spec .RequestHeaders )
123137 for key , headerValues := range requestHeaders {
124138 for _ , val := range headerValues {
125139 req .Header .Add (key , val )
@@ -128,7 +142,8 @@ func validateSpecFile(filename string) []int {
128142
129143 // Send request
130144 fmt .Println ("\n URL:" , req .URL )
131- resp , e := http .DefaultClient .Do (req )
145+ resp , e := NoCacheClient .Do (req )
146+ resp .Body .Close ()
132147 if e != nil {
133148 fmt .Printf ("ERROR: Failed to request: %v\n " , e )
134149 errorCodes = append (errorCodes , FailedRequest )
0 commit comments