%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; require('../common'); const assert = require('assert'); const inspect = require('util').inspect; const { _checkIsHttpToken, _checkInvalidHeaderChar } = require('_http_common'); // Good header field names [ 'TCN', 'ETag', 'date', 'alt-svc', 'Content-Type', '0', 'Set-Cookie2', 'Set_Cookie', 'foo`bar^', 'foo|bar', '~foobar', 'FooBar!', '#Foo', '$et-Cookie', '%%Test%%', 'Test&123', 'It\'s_fun', '2*3', '4+2', '3.14159265359', ].forEach(function(str) { assert.strictEqual( _checkIsHttpToken(str), true, `_checkIsHttpToken(${inspect(str)}) unexpectedly failed`); }); // Bad header field names [ ':', '@@', '中文呢', // unicode '((((())))', ':alternate-protocol', 'alternate-protocol:', 'foo\nbar', 'foo\rbar', 'foo\r\nbar', 'foo\x00bar', '\x7FMe!', '{Start', '(Start', '[Start', 'End}', 'End)', 'End]', '"Quote"', 'This,That', ].forEach(function(str) { assert.strictEqual( _checkIsHttpToken(str), false, `_checkIsHttpToken(${inspect(str)}) unexpectedly succeeded`); }); // Good header field values [ 'foo bar', 'foo\tbar', '0123456789ABCdef', '!@#$%^&*()-_=+\\;\':"[]{}<>,./?|~`', ].forEach(function(str) { assert.strictEqual( _checkInvalidHeaderChar(str), false, `_checkInvalidHeaderChar(${inspect(str)}) unexpectedly failed`); }); // Bad header field values [ 'foo\rbar', 'foo\nbar', 'foo\r\nbar', '中文呢', // unicode '\x7FMe!', 'Testing 123\x00', 'foo\vbar', 'Ding!\x07', ].forEach(function(str) { assert.strictEqual( _checkInvalidHeaderChar(str), true, `_checkInvalidHeaderChar(${inspect(str)}) unexpectedly succeeded`); });