MCPcopy Index your code
hub / github.com/python/cpython / test_invalid_headers

Method test_invalid_headers

Lib/test/test_httplib.py:342–370  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

340 self.assertEndsWith(folded, 'folded with tab')
341
342 def test_invalid_headers(self):
343 conn = client.HTTPConnection('example.com')
344 conn.sock = FakeSocket('')
345 conn.putrequest('GET', '/')
346
347 # http://tools.ietf.org/html/rfc7230#section-3.2.4, whitespace is no
348 # longer allowed in header names
349 cases = (
350 (b'Invalid\r\nName', b'ValidValue'),
351 (b'Invalid\rName', b'ValidValue'),
352 (b'Invalid\nName', b'ValidValue'),
353 (b'\r\nInvalidName', b'ValidValue'),
354 (b'\rInvalidName', b'ValidValue'),
355 (b'\nInvalidName', b'ValidValue'),
356 (b' InvalidName', b'ValidValue'),
357 (b'\tInvalidName', b'ValidValue'),
358 (b'Invalid:Name', b'ValidValue'),
359 (b':InvalidName', b'ValidValue'),
360 (b'ValidName', b'Invalid\r\nValue'),
361 (b'ValidName', b'Invalid\rValue'),
362 (b'ValidName', b'Invalid\nValue'),
363 (b'ValidName', b'InvalidValue\r\n'),
364 (b'ValidName', b'InvalidValue\r'),
365 (b'ValidName', b'InvalidValue\n'),
366 )
367 for name, value in cases:
368 with self.subTest((name, value)):
369 with self.assertRaisesRegex(ValueError, 'Invalid header'):
370 conn.putheader(name, value)
371
372 def test_headers_debuglevel(self):
373 body = (

Callers

nothing calls this directly

Calls 5

putrequestMethod · 0.95
putheaderMethod · 0.95
assertRaisesRegexMethod · 0.80
FakeSocketClass · 0.70
subTestMethod · 0.45

Tested by

no test coverage detected