code: 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])
  				}
  
  			}
  		}
  		return nil
  	}
  
  }
docs: // HasHeaderStruct returns a retry condition function.
  // The condition returns an error if the response does contain the headers set, and matching contents.