mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-09-13 14:33:58 +03:00
[networking] Support PATCH request
This commit is contained in:
@@ -39,6 +39,7 @@ from yt_dlp.cookies import YoutubeDLCookieJar
|
||||
from yt_dlp.dependencies import brotli, curl_cffi, requests, urllib3
|
||||
from yt_dlp.networking import (
|
||||
HEADRequest,
|
||||
PATCHRequest,
|
||||
PUTRequest,
|
||||
Request,
|
||||
RequestDirector,
|
||||
@@ -1856,6 +1857,7 @@ class TestRequest:
|
||||
|
||||
def test_request_helpers(self):
|
||||
assert HEADRequest('http://example.com').method == 'HEAD'
|
||||
assert PATCHRequest('http://example.com').method == 'PATCH'
|
||||
assert PUTRequest('http://example.com').method == 'PUT'
|
||||
|
||||
def test_headers(self):
|
||||
|
||||
@@ -3,6 +3,7 @@ import warnings
|
||||
|
||||
from .common import (
|
||||
HEADRequest,
|
||||
PATCHRequest,
|
||||
PUTRequest,
|
||||
Request,
|
||||
RequestDirector,
|
||||
|
||||
@@ -261,6 +261,11 @@ class ProxyHandler(urllib.request.BaseHandler):
|
||||
self, req, proxy, None)
|
||||
|
||||
|
||||
class PATCHRequest(urllib.request.Request):
|
||||
def get_method(self):
|
||||
return 'PATCH'
|
||||
|
||||
|
||||
class PUTRequest(urllib.request.Request):
|
||||
def get_method(self):
|
||||
return 'PUT'
|
||||
@@ -279,6 +284,8 @@ def update_Request(req, url=None, data=None, headers=None, query=None):
|
||||
req_get_method = req.get_method()
|
||||
if req_get_method == 'HEAD':
|
||||
req_type = HEADRequest
|
||||
elif req_get_method == 'PATCH':
|
||||
req_type = PATCHRequest
|
||||
elif req_get_method == 'PUT':
|
||||
req_type = PUTRequest
|
||||
else:
|
||||
|
||||
@@ -505,6 +505,7 @@ class Request:
|
||||
|
||||
|
||||
HEADRequest = functools.partial(Request, method='HEAD')
|
||||
PATCHRequest = functools.partial(Request, method='PATCH')
|
||||
PUTRequest = functools.partial(Request, method='PUT')
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user