code: func HasHeaderValue(header, value string, exactMatch bool) ResponseCondition {
  	return func(res *http.Response) error {
  		if _, ok := res.Header[header]; !ok {
  			return errors.New("response doesn't contain header: " + header)
  		}
  
  		matchFound := false
  		for _, hdr := range res.Header[header] {
  			if value != hdr && exactMatch {
  				return fmt.Errorf("got header %s with value %s, wanted %s", header, hdr, value)
  			}
  			if value == hdr {
  				matchFound = true
  			}
  		}
  
  		if !matchFound {
  			return fmt.Errorf("response doesn't contain header %s with value %s", header, value)
  		}
  		return nil
  	}
  }
docs: // HasHeaderValue returns a retry condition function.
  // The condition returns an error if the response does not have a header set, and a value for that header.
  // Has an option to test for an exact header match only, not just contains.