diff --git a/internal/commands/response.go b/internal/commands/response.go index cafd4ba..f5d3d3c 100644 --- a/internal/commands/response.go +++ b/internal/commands/response.go @@ -1,6 +1,7 @@ package commands import ( + "bytes" "encoding/json" "errors" "fmt" @@ -156,6 +157,18 @@ func (r Response) FilterSuffix(s string) Response { return r } +// FilterBodyPrefix sets the body value equivalent to an empty string if the +// body value contains the given prefix string. +func (r Response) FilterBodyPrefix(p string) Response { + if !r.Ok() { + return r + } + if bytes.HasPrefix(r.body, []byte(p)) { + return Response{[]byte(""), r.status, r.err} + } + return r +} + // FilterDeprecated removes deprecation warnings from the response status. // Use it when checking the response from calls that may be deprecated in ceph // if you want those calls to continue working if the warning is present.