summaryrefslogtreecommitdiff
path: root/pkg/varlinkapi/util.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-05-16 17:07:12 +0200
committerGitHub <noreply@github.com>2019-05-16 17:07:12 +0200
commitff70b6031a5f02844af9ff23a64d6681e0c385fc (patch)
tree1c4575c962bb21d3b69fbfa992d2620a9de236b3 /pkg/varlinkapi/util.go
parentbd21a99501ca088e0fd6a36bc8007c931bc5d5ef (diff)
parentbd3154fcf6a48b37cfde5d9b1226900cd863c0d9 (diff)
downloadpodman-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.go15
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
+ }
+}