diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2017-07-20 10:25:19 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2017-07-20 10:25:19 -0700 |
commit | df6dd3768d5fcc99a348bd52d7e6ffeaa1c391db (patch) | |
tree | 8e79fe5fd7b9102ed71a8a731b1492f4d1bd212c /Gemfile.lock | |
parent | 020c42b59503692742e6298a35d1bf4b1d2b491c (diff) | |
download | chef-df6dd3768d5fcc99a348bd52d7e6ffeaa1c391db.tar.gz |
fix retries on JSON POST requests when negotiating protocol version
on the first pass through the JSON middleware it encodes the
body. if there's a retry, it re-encodes the body as a string
with all its metacharacters escaped.
this is a particular issue when doing a first request that is
a POST that requires negotiating the API version. when doing a
GET it isn't a problem because there's no body payload -- but a
POST or a PUT which requires a retry will get garbled and will
cause a 500.
this happens on hosted right now if trying to POST with a v2
API since hosted is only v1, so there's a retry to downgrade.
i also made the same kind of changes to the streaming download
requests, but since they're GETs its unclear to me if there was
any impact there -- but middleware could have been double-mangling
headers on a retry.
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'Gemfile.lock')
-rw-r--r-- | Gemfile.lock | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Gemfile.lock b/Gemfile.lock index ef9f833290..ebbe0012ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -122,6 +122,7 @@ GEM addressable (2.4.0) appbundler (0.10.0) mixlib-cli (~> 1.4) + mixlib-shellout (~> 2.0) ast (2.3.0) backports (3.8.0) binding_of_caller (0.7.2) @@ -140,6 +141,8 @@ GEM net-ssh coderay (1.1.1) concurrent-ruby (1.0.5) + crack (0.4.3) + safe_yaml (~> 1.0.0) debug_inspector (0.0.3) diff-lcs (1.3) docile (1.1.5) @@ -175,6 +178,7 @@ GEM ffi (>= 1.0.1) gyoku (1.3.1) builder (>= 2.1.2) + hashdiff (0.3.4) hashie (3.5.6) highline (1.7.8) htmlentities (4.3.4) @@ -321,6 +325,7 @@ GEM ruby-shadow (2.5.0) rubyntlm (0.6.2) rubyzip (1.2.1) + safe_yaml (1.0.4) sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) @@ -373,6 +378,10 @@ GEM thread_safe (~> 0.1) unicode-display_width (1.3.0) uuidtools (2.1.5) + webmock (3.0.1) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff websocket (1.2.4) win32-api (1.5.3-universal-mingw32) win32-dir (0.5.1) @@ -440,7 +449,8 @@ DEPENDENCIES simplecov tomlrb travis + webmock yard BUNDLED WITH - 1.15.1 + 1.15.2 |