diff options
author | Brent Baude <bbaude@redhat.com> | 2020-02-11 12:40:41 -0600 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-02-11 12:42:58 -0600 |
commit | ad4a92c5e53f222bd99d2b55e175eef48d077cf4 (patch) | |
tree | 06bcf014a9d176232d182a257a3b5f835596ef67 /pkg/bindings/connection.go | |
parent | 86b5a89d1afb641196214ed9c57e83e617776c5f (diff) | |
download | podman-ad4a92c5e53f222bd99d2b55e175eef48d077cf4.tar.gz podman-ad4a92c5e53f222bd99d2b55e175eef48d077cf4.tar.bz2 podman-ad4a92c5e53f222bd99d2b55e175eef48d077cf4.zip |
Fix container filters
container filters were being double encoded (maybe triple) which resulted in the wrong encoding representation of filters being sent by the go-bindings. Also, on the server side, Filter needed to be changed to Filter to decode properly. Finally, due to the changed return type of List Containers, the go bindings return values needed to be changed.
Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/bindings/connection.go')
-rw-r--r-- | pkg/bindings/connection.go | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/pkg/bindings/connection.go b/pkg/bindings/connection.go index 116af9709..f270060a6 100644 --- a/pkg/bindings/connection.go +++ b/pkg/bindings/connection.go @@ -130,7 +130,7 @@ func (c *Connection) DoRequest(httpBody io.Reader, httpMethod, endpoint string, // if more desirable we could use url to form the encoded endpoint with params r := req.URL.Query() for k, v := range queryParams { - r.Add(k, url.QueryEscape(v)) + r.Add(k, v) } req.URL.RawQuery = r.Encode() } @@ -155,18 +155,14 @@ func GetConnectionFromContext(ctx context.Context) (*Connection, error) { return conn, nil } -// FiltersToHTML converts our typical filter format of a +// FiltersToString converts our typical filter format of a // map[string][]string to a query/html safe string. -func FiltersToHTML(filters map[string][]string) (string, error) { +func FiltersToString(filters map[string][]string) (string, error) { lowerCaseKeys := make(map[string][]string) for k, v := range filters { lowerCaseKeys[strings.ToLower(k)] = v } - unsafeString, err := jsoniter.MarshalToString(lowerCaseKeys) - if err != nil { - return "", err - } - return url.QueryEscape(unsafeString), nil + return jsoniter.MarshalToString(lowerCaseKeys) } // IsInformation returns true if the response code is 1xx |