diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-05-16 17:07:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-16 17:07:12 +0200 |
commit | ff70b6031a5f02844af9ff23a64d6681e0c385fc (patch) | |
tree | 1c4575c962bb21d3b69fbfa992d2620a9de236b3 /pkg/varlinkapi/util.go | |
parent | bd21a99501ca088e0fd6a36bc8007c931bc5d5ef (diff) | |
parent | bd3154fcf6a48b37cfde5d9b1226900cd863c0d9 (diff) | |
download | podman-ff70b6031a5f02844af9ff23a64d6681e0c385fc.tar.gz podman-ff70b6031a5f02844af9ff23a64d6681e0c385fc.tar.bz2 podman-ff70b6031a5f02844af9ff23a64d6681e0c385fc.zip |
Merge pull request #3090 from jwhonce/wip/upgrade_link
Add VarlinkCall.RequiresUpgrade() type and method
Diffstat (limited to 'pkg/varlinkapi/util.go')
-rw-r--r-- | pkg/varlinkapi/util.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/pkg/varlinkapi/util.go b/pkg/varlinkapi/util.go index 8716c963a..a9f1e20a1 100644 --- a/pkg/varlinkapi/util.go +++ b/pkg/varlinkapi/util.go @@ -13,6 +13,11 @@ import ( "github.com/containers/libpod/cmd/podman/varlink" "github.com/containers/libpod/libpod" "github.com/containers/storage/pkg/archive" + "github.com/pkg/errors" +) + +var ( + ErrUpgradedConnectionRequired = errors.New("peer must use upgraded connection for operation") ) // getContext returns a non-nil, empty context @@ -195,3 +200,13 @@ func makePsOpts(inOpts iopodman.PsOpts) shared.PsOptions { Sync: derefBool(inOpts.Sync), } } + +// RequiresUpgrade tests if varlink connection has been marked for upgrade. +func (v *VarlinkCall) RequiresUpgrade() error { + if v.WantsUpgrade() { + // A nil is sent to the peer as required by the varlink protocol. + return v.Reply(nil) + } else { + return ErrUpgradedConnectionRequired + } +} |