code: func (s *Header) ModifyResponseHeaders(res *http.Response) error {
  	// Loop through Custom response headers
  	for header, value := range s.headers.CustomResponseHeaders {
  		if value == "" {
  			res.Header.Del(header)
  		} else {
  			res.Header.Set(header, value)
  		}
  	}
  	originHeader := res.Header.Get(originHeaderKey)
  	allowOrigin := s.getAllowOrigin(originHeader)
  	//	Delete the origin header key, since it is only used to pass data from the request for response handling
  	res.Header.Del(originHeaderKey)
  	if allowOrigin != "" {
  		res.Header.Set("Access-Control-Allow-Origin", allowOrigin)
  
  		if s.headers.AddVaryHeader {
  			varyHeader := res.Header.Get("Vary")
  			if varyHeader != "" {
  				varyHeader += ","
  			}
  			varyHeader += "Origin"
  
  			res.Header.Set("Vary", varyHeader)
  		}
  	}
  
  	if s.headers.AccessControlAllowCredentials {
  		res.Header.Set("Access-Control-Allow-Credentials", "true")
  	}
  
  	exposeHeaders := strings.Join(s.headers.AccessControlExposeHeaders, ",")
  	if exposeHeaders != "" {
  		res.Header.Set("Access-Control-Expose-Headers", exposeHeaders)
  	}
  
  	return nil
  }
docs: // ModifyResponseHeaders set or delete response headers