Properly add response headers for CORS
This commit is contained in:
parent
74c5ec70a9
commit
3f6ea04048
8 changed files with 198 additions and 138 deletions
|
@ -168,18 +168,17 @@ func HasHeaderValue(header, value string, exactMatch bool) ResponseCondition {
|
|||
func HasHeaderStruct(header http.Header) ResponseCondition {
|
||||
return func(res *http.Response) error {
|
||||
for key := range header {
|
||||
if _, ok := res.Header[key]; ok {
|
||||
// Header exists in the response, test it.
|
||||
eq := reflect.DeepEqual(header[key], res.Header[key])
|
||||
if !eq {
|
||||
return fmt.Errorf("for header %s got values %v, wanted %v", key, res.Header[key], header[key])
|
||||
}
|
||||
if _, ok := res.Header[key]; !ok {
|
||||
return fmt.Errorf("header %s not present in the response. Expected headers: %v Got response headers: %v", key, header, res.Header)
|
||||
}
|
||||
|
||||
// Header exists in the response, test it.
|
||||
if !reflect.DeepEqual(header[key], res.Header[key]) {
|
||||
return fmt.Errorf("for header %s got values %v, wanted %v", key, res.Header[key], header[key])
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// DoCondition is a retry condition function.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue