mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
Merge: #21991: make headerregistry params property MappingProxyType.
This commit is contained in:
commit
d2ff243b38
3 changed files with 9 additions and 1 deletions
|
|
@ -7,6 +7,7 @@ Eventually HeaderRegistry will be a public API, but it isn't yet,
|
|||
and will probably change some before that happens.
|
||||
|
||||
"""
|
||||
from types import MappingProxyType
|
||||
|
||||
from email import utils
|
||||
from email import errors
|
||||
|
|
@ -456,7 +457,7 @@ class ParameterizedMIMEHeader:
|
|||
|
||||
@property
|
||||
def params(self):
|
||||
return self._params.copy()
|
||||
return MappingProxyType(self._params)
|
||||
|
||||
|
||||
class ContentTypeHeader(ParameterizedMIMEHeader):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import datetime
|
||||
import textwrap
|
||||
import unittest
|
||||
import types
|
||||
from email import errors
|
||||
from email import policy
|
||||
from email.message import Message
|
||||
|
|
@ -235,6 +236,8 @@ class TestContentTypeHeader(TestHeaderBase):
|
|||
self.assertEqual(h.maintype, maintype)
|
||||
self.assertEqual(h.subtype, subtype)
|
||||
self.assertEqual(h.params, parmdict)
|
||||
with self.assertRaises(TypeError):
|
||||
h.params['abc'] = 'xyz' # params is read-only.
|
||||
self.assertDefectsEqual(h.defects, defects)
|
||||
self.assertEqual(h, decoded)
|
||||
self.assertEqual(h.fold(policy=policy.default), folded)
|
||||
|
|
|
|||
|
|
@ -181,6 +181,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #21991: Make email.headerregistry's header 'params' attributes
|
||||
be read-only (MappingProxyType). Previously the dictionary was modifiable
|
||||
but a new one was created on each access of the attribute.
|
||||
|
||||
- Issue #22638: SSLv3 is now disabled throughout the standard library.
|
||||
It can still be enabled by instantiating a SSLContext manually.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue