From 0228b4a074ec7b5969f99d61e6d6057a0e74ba4a Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Wed, 26 Apr 2017 15:48:02 -1000 Subject: [PATCH 01/10] Experimenting with the boundary setting --- lib/restclient/payload.rb | 2 +- lib/restclient/request.rb | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index 56563fa5..27ba9355 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -198,7 +198,7 @@ def handle_key key end def headers - super.merge({'Content-Type' => %Q{multipart/form-data; boundary=#{boundary}}}) + super.merge({'Content-Type' => %Q{multipart/form-data; boundary=--TestBoundarySetByAdstream}) end def close diff --git a/lib/restclient/request.rb b/lib/restclient/request.rb index a875dc0b..04fae672 100644 --- a/lib/restclient/request.rb +++ b/lib/restclient/request.rb @@ -363,7 +363,8 @@ def process_cookie_args!(uri, headers, args) def make_headers(user_headers) headers = stringify_headers(default_headers).merge(stringify_headers(user_headers)) - # override headers from the payload (e.g. Content-Type, Content-Length) +=begin +# override headers from the payload (e.g. Content-Type, Content-Length) if @payload payload_headers = @payload.headers @@ -382,6 +383,8 @@ def make_headers(user_headers) headers.merge!(payload_headers) end +=end + # merge in cookies cookies = make_cookie_header From 1fc29f274700e4243573d252eb951a079c180ff6 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Wed, 26 Apr 2017 16:31:59 -1000 Subject: [PATCH 02/10] Fix typo --- lib/restclient/payload.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index 27ba9355..135d9f0d 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -198,7 +198,7 @@ def handle_key key end def headers - super.merge({'Content-Type' => %Q{multipart/form-data; boundary=--TestBoundarySetByAdstream}) + super.merge({'Content-Type' => %Q{multipart/form-data; boundary=--TestBoundarySetByAdstream}}) end def close From d506a0fead2676e3839fd1115ccfee62ea651baa Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Wed, 26 Apr 2017 16:44:16 -1000 Subject: [PATCH 03/10] Uncomment code --- lib/restclient/request.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/restclient/request.rb b/lib/restclient/request.rb index 04fae672..2170e961 100644 --- a/lib/restclient/request.rb +++ b/lib/restclient/request.rb @@ -363,8 +363,8 @@ def process_cookie_args!(uri, headers, args) def make_headers(user_headers) headers = stringify_headers(default_headers).merge(stringify_headers(user_headers)) -=begin -# override headers from the payload (e.g. Content-Type, Content-Length) + + # override headers from the payload (e.g. Content-Type, Content-Length) if @payload payload_headers = @payload.headers @@ -383,7 +383,7 @@ def make_headers(user_headers) headers.merge!(payload_headers) end -=end + # merge in cookies From 5e7e837cddb0b21e3e23fbcc785e0ebfab5f9d26 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Wed, 26 Apr 2017 16:44:34 -1000 Subject: [PATCH 04/10] Remove unnecessary spaces --- lib/restclient/request.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/restclient/request.rb b/lib/restclient/request.rb index 2170e961..a875dc0b 100644 --- a/lib/restclient/request.rb +++ b/lib/restclient/request.rb @@ -363,7 +363,6 @@ def process_cookie_args!(uri, headers, args) def make_headers(user_headers) headers = stringify_headers(default_headers).merge(stringify_headers(user_headers)) - # override headers from the payload (e.g. Content-Type, Content-Length) if @payload payload_headers = @payload.headers @@ -384,8 +383,6 @@ def make_headers(user_headers) headers.merge!(payload_headers) end - - # merge in cookies cookies = make_cookie_header if cookies && !cookies.empty? From 524bfb5aad60fcb708cc7d655532bd2115d4e755 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Wed, 26 Apr 2017 16:54:39 -1000 Subject: [PATCH 05/10] Change boundary value --- lib/restclient/payload.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index 135d9f0d..99351972 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -198,7 +198,7 @@ def handle_key key end def headers - super.merge({'Content-Type' => %Q{multipart/form-data; boundary=--TestBoundarySetByAdstream}}) + super.merge({'Content-Type' => %Q{multipart/form-data; boundary=--ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}}) end def close From 6d636df5f0dbe78002ca7a06d8074d1f24fe5af6 Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 26 Apr 2017 20:18:32 -1000 Subject: [PATCH 06/10] Updating boundary to remove hyphens --- lib/restclient/payload.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index 99351972..07e514d6 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -198,7 +198,7 @@ def handle_key key end def headers - super.merge({'Content-Type' => %Q{multipart/form-data; boundary=--ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}}) + super.merge({'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}}) end def close From cbb3754b912cfa313082d36eec2154574e959d77 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Thu, 27 Apr 2017 10:30:45 -1000 Subject: [PATCH 07/10] Further testing with Restclient --- lib/restclient/request.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/restclient/request.rb b/lib/restclient/request.rb index a875dc0b..9cadf717 100644 --- a/lib/restclient/request.rb +++ b/lib/restclient/request.rb @@ -365,6 +365,7 @@ def make_headers(user_headers) # override headers from the payload (e.g. Content-Type, Content-Length) if @payload + puts "The RESTCLIENT headers are...: #{headers}" payload_headers = @payload.headers # Warn the user if we override any headers that were previously From 5636355d1b83b0bff840efa8679a5811adb6c965 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Thu, 27 Apr 2017 10:49:02 -1000 Subject: [PATCH 08/10] Clean up test printlns, change logic in Payload request to use parent content type if possible --- lib/restclient/payload.rb | 8 ++++++-- lib/restclient/request.rb | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index 07e514d6..fb267706 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -197,8 +197,12 @@ def handle_key key key end - def headers - super.merge({'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}}) + def headers(context_type_header) + context_type = context_type_header.present? ? + {'Content-Type' => %Q{#{context_type_header}}} : + {'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}} + + super.merge(context_type) end def close diff --git a/lib/restclient/request.rb b/lib/restclient/request.rb index 9cadf717..7b9e26f5 100644 --- a/lib/restclient/request.rb +++ b/lib/restclient/request.rb @@ -365,8 +365,7 @@ def make_headers(user_headers) # override headers from the payload (e.g. Content-Type, Content-Length) if @payload - puts "The RESTCLIENT headers are...: #{headers}" - payload_headers = @payload.headers + payload_headers = @payload.headers(headers["Content-Type"]) # Warn the user if we override any headers that were previously # present. This usually indicates that rest-client was passed From ff4449575aa347c44c09e203dff1e68d6e370855 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Thu, 27 Apr 2017 10:57:46 -1000 Subject: [PATCH 09/10] temporarily reverting the payload headers method --- lib/restclient/payload.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index fb267706..dc82c03a 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -198,11 +198,14 @@ def handle_key key end def headers(context_type_header) +=begin context_type = context_type_header.present? ? {'Content-Type' => %Q{#{context_type_header}}} : {'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}} +=end - super.merge(context_type) + + super.merge({'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}}) end def close From fa6f5b03c1659e2d6623d52a04306b0701675c17 Mon Sep 17 00:00:00 2001 From: Brandon Dean Date: Thu, 27 Apr 2017 11:03:40 -1000 Subject: [PATCH 10/10] Reverting changes, added todo --- lib/restclient/payload.rb | 10 ++-------- lib/restclient/request.rb | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/restclient/payload.rb b/lib/restclient/payload.rb index dc82c03a..f51321b4 100644 --- a/lib/restclient/payload.rb +++ b/lib/restclient/payload.rb @@ -197,14 +197,8 @@ def handle_key key key end - def headers(context_type_header) -=begin - context_type = context_type_header.present? ? - {'Content-Type' => %Q{#{context_type_header}}} : - {'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}} -=end - - + def headers + # TODO: Update to allow user to pass in boundary in execute call super.merge({'Content-Type' => %Q{multipart/form-data; boundary=ABW5FxdjB4-3nf6AYqUutk96-trWPzHdLABW5FxdjB4}}) end diff --git a/lib/restclient/request.rb b/lib/restclient/request.rb index 7b9e26f5..a875dc0b 100644 --- a/lib/restclient/request.rb +++ b/lib/restclient/request.rb @@ -365,7 +365,7 @@ def make_headers(user_headers) # override headers from the payload (e.g. Content-Type, Content-Length) if @payload - payload_headers = @payload.headers(headers["Content-Type"]) + payload_headers = @payload.headers # Warn the user if we override any headers that were previously # present. This usually indicates that rest-client was passed