mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-25 11:41:52 +00:00
[utils] Add PUTRequest
This commit is contained in:
parent
6b03e1e25d
commit
95cf60e826
1 changed files with 12 additions and 3 deletions
|
@ -1625,6 +1625,11 @@ class HEADRequest(compat_urllib_request.Request):
|
|||
return 'HEAD'
|
||||
|
||||
|
||||
class PUTRequest(compat_urllib_request.Request):
|
||||
def get_method(self):
|
||||
return 'PUT'
|
||||
|
||||
|
||||
def int_or_none(v, scale=1, default=None, get_attr=None, invscale=1):
|
||||
if get_attr:
|
||||
if v is not None:
|
||||
|
@ -1920,14 +1925,18 @@ def update_Request(req, url=None, data=None, headers={}, query={}):
|
|||
req_headers.update(headers)
|
||||
req_data = data or req.data
|
||||
req_url = update_url_query(url or req.get_full_url(), query)
|
||||
req_type = HEADRequest if req.get_method() == 'HEAD' else compat_urllib_request.Request
|
||||
req_get_method = req.get_method()
|
||||
if req_get_method == 'HEAD':
|
||||
req_type = HEADRequest
|
||||
elif req_get_method == 'PUT':
|
||||
req_type = PUTRequest
|
||||
else:
|
||||
req_type = compat_urllib_request.Request
|
||||
new_req = req_type(
|
||||
req_url, data=req_data, headers=req_headers,
|
||||
origin_req_host=req.origin_req_host, unverifiable=req.unverifiable)
|
||||
if hasattr(req, 'timeout'):
|
||||
new_req.timeout = req.timeout
|
||||
if req.get_method() == 'PUT':
|
||||
new_req.get_method = lambda : 'PUT'
|
||||
return new_req
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue