chore(settings): use generics for helping functions (#1427)
This commit is contained in:
@@ -56,12 +56,12 @@ func (h HTTPProxy) validate() (err error) {
|
||||
|
||||
func (h *HTTPProxy) copy() (copied HTTPProxy) {
|
||||
return HTTPProxy{
|
||||
User: helpers.CopyStringPtr(h.User),
|
||||
Password: helpers.CopyStringPtr(h.Password),
|
||||
User: helpers.CopyPointer(h.User),
|
||||
Password: helpers.CopyPointer(h.Password),
|
||||
ListeningAddress: h.ListeningAddress,
|
||||
Enabled: helpers.CopyBoolPtr(h.Enabled),
|
||||
Stealth: helpers.CopyBoolPtr(h.Stealth),
|
||||
Log: helpers.CopyBoolPtr(h.Log),
|
||||
Enabled: helpers.CopyPointer(h.Enabled),
|
||||
Stealth: helpers.CopyPointer(h.Stealth),
|
||||
Log: helpers.CopyPointer(h.Log),
|
||||
ReadHeaderTimeout: h.ReadHeaderTimeout,
|
||||
ReadTimeout: h.ReadTimeout,
|
||||
}
|
||||
@@ -70,41 +70,41 @@ func (h *HTTPProxy) copy() (copied HTTPProxy) {
|
||||
// mergeWith merges the other settings into any
|
||||
// unset field of the receiver settings object.
|
||||
func (h *HTTPProxy) mergeWith(other HTTPProxy) {
|
||||
h.User = helpers.MergeWithStringPtr(h.User, other.User)
|
||||
h.Password = helpers.MergeWithStringPtr(h.Password, other.Password)
|
||||
h.User = helpers.MergeWithPointer(h.User, other.User)
|
||||
h.Password = helpers.MergeWithPointer(h.Password, other.Password)
|
||||
h.ListeningAddress = helpers.MergeWithString(h.ListeningAddress, other.ListeningAddress)
|
||||
h.Enabled = helpers.MergeWithBool(h.Enabled, other.Enabled)
|
||||
h.Stealth = helpers.MergeWithBool(h.Stealth, other.Stealth)
|
||||
h.Log = helpers.MergeWithBool(h.Log, other.Log)
|
||||
h.ReadHeaderTimeout = helpers.MergeWithDuration(h.ReadHeaderTimeout, other.ReadHeaderTimeout)
|
||||
h.ReadTimeout = helpers.MergeWithDuration(h.ReadTimeout, other.ReadTimeout)
|
||||
h.Enabled = helpers.MergeWithPointer(h.Enabled, other.Enabled)
|
||||
h.Stealth = helpers.MergeWithPointer(h.Stealth, other.Stealth)
|
||||
h.Log = helpers.MergeWithPointer(h.Log, other.Log)
|
||||
h.ReadHeaderTimeout = helpers.MergeWithNumber(h.ReadHeaderTimeout, other.ReadHeaderTimeout)
|
||||
h.ReadTimeout = helpers.MergeWithNumber(h.ReadTimeout, other.ReadTimeout)
|
||||
}
|
||||
|
||||
// overrideWith overrides fields of the receiver
|
||||
// settings object with any field set in the other
|
||||
// settings.
|
||||
func (h *HTTPProxy) overrideWith(other HTTPProxy) {
|
||||
h.User = helpers.OverrideWithStringPtr(h.User, other.User)
|
||||
h.Password = helpers.OverrideWithStringPtr(h.Password, other.Password)
|
||||
h.User = helpers.OverrideWithPointer(h.User, other.User)
|
||||
h.Password = helpers.OverrideWithPointer(h.Password, other.Password)
|
||||
h.ListeningAddress = helpers.OverrideWithString(h.ListeningAddress, other.ListeningAddress)
|
||||
h.Enabled = helpers.OverrideWithBool(h.Enabled, other.Enabled)
|
||||
h.Stealth = helpers.OverrideWithBool(h.Stealth, other.Stealth)
|
||||
h.Log = helpers.OverrideWithBool(h.Log, other.Log)
|
||||
h.ReadHeaderTimeout = helpers.OverrideWithDuration(h.ReadHeaderTimeout, other.ReadHeaderTimeout)
|
||||
h.ReadTimeout = helpers.OverrideWithDuration(h.ReadTimeout, other.ReadTimeout)
|
||||
h.Enabled = helpers.OverrideWithPointer(h.Enabled, other.Enabled)
|
||||
h.Stealth = helpers.OverrideWithPointer(h.Stealth, other.Stealth)
|
||||
h.Log = helpers.OverrideWithPointer(h.Log, other.Log)
|
||||
h.ReadHeaderTimeout = helpers.OverrideWithNumber(h.ReadHeaderTimeout, other.ReadHeaderTimeout)
|
||||
h.ReadTimeout = helpers.OverrideWithNumber(h.ReadTimeout, other.ReadTimeout)
|
||||
}
|
||||
|
||||
func (h *HTTPProxy) setDefaults() {
|
||||
h.User = helpers.DefaultStringPtr(h.User, "")
|
||||
h.Password = helpers.DefaultStringPtr(h.Password, "")
|
||||
h.User = helpers.DefaultPointer(h.User, "")
|
||||
h.Password = helpers.DefaultPointer(h.Password, "")
|
||||
h.ListeningAddress = helpers.DefaultString(h.ListeningAddress, ":8888")
|
||||
h.Enabled = helpers.DefaultBool(h.Enabled, false)
|
||||
h.Stealth = helpers.DefaultBool(h.Stealth, false)
|
||||
h.Log = helpers.DefaultBool(h.Log, false)
|
||||
h.Enabled = helpers.DefaultPointer(h.Enabled, false)
|
||||
h.Stealth = helpers.DefaultPointer(h.Stealth, false)
|
||||
h.Log = helpers.DefaultPointer(h.Log, false)
|
||||
const defaultReadHeaderTimeout = time.Second
|
||||
h.ReadHeaderTimeout = helpers.DefaultDuration(h.ReadHeaderTimeout, defaultReadHeaderTimeout)
|
||||
h.ReadHeaderTimeout = helpers.DefaultNumber(h.ReadHeaderTimeout, defaultReadHeaderTimeout)
|
||||
const defaultReadTimeout = 3 * time.Second
|
||||
h.ReadTimeout = helpers.DefaultDuration(h.ReadTimeout, defaultReadTimeout)
|
||||
h.ReadTimeout = helpers.DefaultNumber(h.ReadTimeout, defaultReadTimeout)
|
||||
}
|
||||
|
||||
func (h HTTPProxy) String() string {
|
||||
|
||||
Reference in New Issue
Block a user