Feature #3344 » ruby-patch-verb.patch
| lib/net/http.rb (working copy) | ||
|---|---|---|
|
# "application/x-www-form-urlencoded" by default.
|
||
|
#
|
||
|
def post(path, data, initheader = nil, dest = nil, &block) # :yield: +body_segment+
|
||
|
res = nil
|
||
|
request(Post.new(path, initheader), data) {|r|
|
||
|
r.read_body dest, &block
|
||
|
res = r
|
||
|
}
|
||
|
unless @newimpl
|
||
|
res.value
|
||
|
return res, res.body
|
||
|
end
|
||
|
res
|
||
|
send_entity(path, data, initheader, dest, Post, &block)
|
||
|
end
|
||
|
|
||
|
# Sends a PATCH request to the +path+ and gets a response,
|
||
|
# as an HTTPResponse object.
|
||
|
def patch(path, data, initheader = nil, dest = nil, &block) # :yield: +body_segment+
|
||
|
send_entity(path, data, initheader, dest, Patch, &block)
|
||
|
end
|
||
|
def put(path, data, initheader = nil) #:nodoc:
|
||
|
res = request(Put.new(path, initheader), data)
|
||
| ... | ... | |
|
private
|
||
|
# Executes a request which uses a representation
|
||
|
# and returns its body.
|
||
|
def send_entity(path, data, initheader, dest, type, &block)
|
||
|
res = nil
|
||
|
request(type.new(path, initheader), data) {|r|
|
||
|
r.read_body dest, &block
|
||
|
res = r
|
||
|
}
|
||
|
unless @newimpl
|
||
|
res.value
|
||
|
return res, res.body
|
||
|
end
|
||
|
res
|
||
|
end
|
||
|
def transport_request(req)
|
||
|
begin_transport req
|
||
|
req.exec @socket, @curr_http_version, edit_path(req.path)
|
||
| ... | ... | |
|
end
|
||
|
#
|
||
|
# PATCH method --- RFC5789
|
||
|
#
|
||
|
class Patch < HTTPRequest
|
||
|
METHOD = 'PATCH'
|
||
|
REQUEST_HAS_BODY = true
|
||
|
RESPONSE_HAS_BODY = true
|
||
|
end
|
||
|
|
||
|
#
|
||
|
# WebDAV methods --- RFC2518
|
||
|
#
|
||
- « Previous
- 1
- 2
- Next »