@@ -14,15 +14,15 @@ class FormURLEncoded(Codec):
1414 UNQUOTED = Percent .UNRESERVED
1515
1616 @classmethod
17- def decode (cls , data : bytes , charset : Optional [ str ] = None , mimetype : Optional [ ContentType ] = None ) -> Tuple [Tuple [str , str ], Tuple [str , str ]] | Tuple [Tuple [str , str ]] | Tuple [Tuple [str , str ], Tuple [str , str ], Tuple [str , str ]] | Tuple [Tuple [str , str ], Tuple [str , str ], Tuple [str , str ], Tuple [str , str ]] | Tuple [()]:
17+ def decode (cls , data : bytes , charset : str | None = None , mimetype : ContentType | None = None ) -> Tuple [Tuple [str , str ], Tuple [str , str ]] | Tuple [Tuple [str , str ]] | Tuple [Tuple [str , str ], Tuple [str , str ], Tuple [str , str ]] | Tuple [Tuple [str , str ], Tuple [str , str ], Tuple [str , str ], Tuple [str , str ]] | Tuple [()]:
1818 if not data :
1919 return ()
2020 data = data .replace (b'+' , b' ' ).strip (b'&' ).split (b'&' )
2121 fields = (field .partition (b'=' )[::2 ] for field in data if field )
2222 return tuple ((cls .unquote (name , charset ), cls .unquote (value , charset )) for name , value in fields )
2323
2424 @classmethod
25- def encode (cls , data : Any , charset : Optional [ str ] = None , mimetype : None = None ) -> bytes :
25+ def encode (cls , data : Any , charset : str | None = None , mimetype : None = None ) -> bytes :
2626 # if isinstance(data, (Unicode, bytes)):
2727 # data = cls.decode(data, charset)
2828 if isinstance (data , dict ):
@@ -32,10 +32,10 @@ def encode(cls, data: Any, charset: Optional[str] = None, mimetype: None = None)
3232 return data .replace (b'%20' , b'+' )
3333
3434 @classmethod
35- def unquote (cls , data : bytes , charset : Optional [ str ] = None ) -> str :
35+ def unquote (cls , data : bytes , charset : str | None = None ) -> str :
3636 return Percent .unquote (data ).decode (charset or 'ISO8859-1' )
3737
3838 @classmethod
39- def quote (cls , data : str | List [int ], charset : Optional [ str ] = None ) -> bytes :
39+ def quote (cls , data : str | List [int ], charset : str | None = None ) -> bytes :
4040 data = data .encode (charset or 'ISO8859-1' )
4141 return Percent .quote (data , cls .UNQUOTED )
0 commit comments