Always perform version-negotiation
If a client is initialized without a specific version set, version negotiation would not be functional. This patch changes the behavior to always perform version negotation (if called), in which case the "current" (maximum supported API version) is used as a default. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
82390ebf32
commit
5975dc4b4b
1 changed files with 7 additions and 2 deletions
|
@ -260,8 +260,13 @@ func (cli *Client) NegotiateAPIVersionPing(p types.Ping) {
|
|||
p.APIVersion = "1.24"
|
||||
}
|
||||
|
||||
// if server version is lower than the current cli, downgrade
|
||||
if versions.LessThan(p.APIVersion, cli.ClientVersion()) {
|
||||
// if the client is not initialized with a version, start with the latest supported version
|
||||
if cli.version == "" {
|
||||
cli.version = api.DefaultVersion
|
||||
}
|
||||
|
||||
// if server version is lower than the maximum version supported by the Client, downgrade
|
||||
if versions.LessThan(p.APIVersion, api.DefaultVersion) {
|
||||
cli.version = p.APIVersion
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue