[Python experimental] Add __setattr__ function to ensure signing_info.host is the same as configuration.host when the user assigns signing info (#6033)

* Add __setattr__ function to ensure signing_info.host is the same as configuration.host when the user assigns signing info

* Add __setattr__ function to ensure signing_info.host is the same as configuration.host when the user assigns signing info
This commit is contained in:
Sebastien Rosset
2020-04-23 23:16:31 -07:00
committed by GitHub
parent 1e01c380e8
commit 6ad5e5fb45
7 changed files with 31 additions and 0 deletions

View File

@@ -271,6 +271,15 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
{{#hasHttpSignatureMethods}}
if name == "signing_info" and value is not None:
# Ensure the host paramater from signing info is the same as
# Configuration.host.
value.host = self.host
{{/hasHttpSignatureMethods}}
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.

View File

@@ -195,6 +195,9 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.

View File

@@ -199,6 +199,9 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.

View File

@@ -199,6 +199,9 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.

View File

@@ -199,6 +199,9 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.

View File

@@ -246,6 +246,13 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
if name == "signing_info" and value is not None:
# Ensure the host paramater from signing info is the same as
# Configuration.host.
value.host = self.host
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.

View File

@@ -199,6 +199,9 @@ class Configuration(object):
result.debug = self.debug result.debug = self.debug
return result return result
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
@classmethod @classmethod
def set_default(cls, default): def set_default(cls, default):
"""Set default instance of configuration. """Set default instance of configuration.