[networking] Support PATCH request

This commit is contained in:
doe1080
2025-04-11 02:34:32 +09:00
parent 74e90dd9b8
commit 30479d2705
4 changed files with 11 additions and 0 deletions
+2
View File
@@ -39,6 +39,7 @@ from yt_dlp.cookies import YoutubeDLCookieJar
from yt_dlp.dependencies import brotli, curl_cffi, requests, urllib3 from yt_dlp.dependencies import brotli, curl_cffi, requests, urllib3
from yt_dlp.networking import ( from yt_dlp.networking import (
HEADRequest, HEADRequest,
PATCHRequest,
PUTRequest, PUTRequest,
Request, Request,
RequestDirector, RequestDirector,
@@ -1856,6 +1857,7 @@ class TestRequest:
def test_request_helpers(self): def test_request_helpers(self):
assert HEADRequest('http://example.com').method == 'HEAD' assert HEADRequest('http://example.com').method == 'HEAD'
assert PATCHRequest('http://example.com').method == 'PATCH'
assert PUTRequest('http://example.com').method == 'PUT' assert PUTRequest('http://example.com').method == 'PUT'
def test_headers(self): def test_headers(self):
+1
View File
@@ -3,6 +3,7 @@ import warnings
from .common import ( from .common import (
HEADRequest, HEADRequest,
PATCHRequest,
PUTRequest, PUTRequest,
Request, Request,
RequestDirector, RequestDirector,
+7
View File
@@ -261,6 +261,11 @@ class ProxyHandler(urllib.request.BaseHandler):
self, req, proxy, None) self, req, proxy, None)
class PATCHRequest(urllib.request.Request):
def get_method(self):
return 'PATCH'
class PUTRequest(urllib.request.Request): class PUTRequest(urllib.request.Request):
def get_method(self): def get_method(self):
return 'PUT' return 'PUT'
@@ -279,6 +284,8 @@ def update_Request(req, url=None, data=None, headers=None, query=None):
req_get_method = req.get_method() req_get_method = req.get_method()
if req_get_method == 'HEAD': if req_get_method == 'HEAD':
req_type = HEADRequest req_type = HEADRequest
elif req_get_method == 'PATCH':
req_type = PATCHRequest
elif req_get_method == 'PUT': elif req_get_method == 'PUT':
req_type = PUTRequest req_type = PUTRequest
else: else:
+1
View File
@@ -505,6 +505,7 @@ class Request:
HEADRequest = functools.partial(Request, method='HEAD') HEADRequest = functools.partial(Request, method='HEAD')
PATCHRequest = functools.partial(Request, method='PATCH')
PUTRequest = functools.partial(Request, method='PUT') PUTRequest = functools.partial(Request, method='PUT')