Feature #3344
closedsupporting rfc 5789 - http patch verb
Description
=begin
I am sending a patch and Changelog file for trunk (should be the same
patch for 1.8) supporting the PATCH verb defined on the approved RFC
5789. Here is the link for such RFC:
http://tools.ietf.org/html/rfc5789
Patch should be used to partially update resources over the web using
a media type that gives enough information for such procedure.
The patch adds a new PATCH class, similar to POST. It also defines a
patch method to Net::HTTP instance. Finally, the code from post was
refactored out into a send_entity method, because patch and post
tunneling behavior are the same, with the only difference on which
http method being used.
Regards
=end
Files
Updated by naruse (Yui NARUSE) almost 14 years ago
=begin
This feature is acceptable, but it also needs tests.
I'm making primitive tests like following.
If you have some tests it helps me.
diff --git a/test/net/http/test_http.rb b/test/net/http/test_http.rb
index 167eda9..76280ad 100644
--- a/test/net/http/test_http.rb
+++ b/test/net/http/test_http.rb
@@ -169,6 +169,25 @@ module TestNetHTTP_version_1_1_methods
assert_equal ["a=x1", "a=x2", "b=y"], res.body.split(/[;&]/).sort
end
- def test_patch
- start {|http|
-
_test_patch__base http
- }
- end
- def _test_patch__base(http)
- uheader = {}
- uheader['Accept'] = 'application/octet-stream'
- data = 'patch data'
- res, body = http.patch('/', data)
- assert_kind_of Net::HTTPResponse, res
- assert_kind_of String, body
- assert_kind_of String, res.body
- assert_equal data, body
- assert_equal data, res.body
- assert_equal data, res.entity
- end
end
diff --git a/test/net/http/utils.rb b/test/net/http/utils.rb
index 10c88d7..32cea2a 100644
--- a/test/net/http/utils.rb
+++ b/test/net/http/utils.rb
@@ -92,6 +92,12 @@ module TestNetHTTPUtils
res.body = req.body
res.chunked = @chunked
end
+
- def do_PATCH(req, res)
-
res['Content-Type'] = req['Content-Type']
-
res.body = req.body
-
res.chunked = @chunked
- end
end
class NullWriter
=end
Updated by naruse (Yui NARUSE) almost 14 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r28119.
Guilherme, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end
Updated by tenderlovemaking (Aaron Patterson) about 12 years ago
- Description updated (diff)
What do you think about backporting these to 1.8.7 and 1.9.2? There are two backport tickets open for this:
Updated by ayumin (Ayumu AIZAWA) about 12 years ago
IMHO, I'm not positive to patch it to 1.8.7 or 1.9.2, because these 2 versions will be unsupported soon.
--
Ayumu AIZAWA
Updated by nobu (Nobuyoshi Nakada) about 12 years ago
No new features in dying branches.
Updated by isaacsanders (Isaac Sanders) about 12 years ago
Why is that?
Updated by naruse (Yui NARUSE) over 6 years ago
- Has duplicate Misc #6299: Adding PATCH to Net::HTTP added