2017-08-30 15:52:26 -07:00
|
|
|
// Flags: --expose-internals
|
|
|
|
'use strict';
|
|
|
|
|
2019-12-25 18:02:16 +01:00
|
|
|
require('../common');
|
|
|
|
const assert = require('assert');
|
2017-08-30 15:52:26 -07:00
|
|
|
|
|
|
|
// Tests the assertValidPseudoHeader function that is used within the
|
2025-04-17 19:16:52 +02:00
|
|
|
// buildNgHeaderString function. The assert function is not exported so we
|
|
|
|
// have to test it through buildNgHeaderString
|
2017-08-30 15:52:26 -07:00
|
|
|
|
2025-04-17 19:16:52 +02:00
|
|
|
const { buildNgHeaderString } = require('internal/http2/util');
|
2017-08-30 15:52:26 -07:00
|
|
|
|
2018-11-03 10:27:18 -07:00
|
|
|
// These should not throw
|
2025-04-17 19:16:52 +02:00
|
|
|
buildNgHeaderString({ ':status': 'a' });
|
|
|
|
buildNgHeaderString({ ':path': 'a' });
|
|
|
|
buildNgHeaderString({ ':authority': 'a' });
|
|
|
|
buildNgHeaderString({ ':scheme': 'a' });
|
|
|
|
buildNgHeaderString({ ':method': 'a' });
|
2017-08-30 15:52:26 -07:00
|
|
|
|
2025-04-17 19:16:52 +02:00
|
|
|
assert.throws(() => buildNgHeaderString({ ':foo': 'a' }), {
|
2018-11-03 10:27:18 -07:00
|
|
|
code: 'ERR_HTTP2_INVALID_PSEUDOHEADER',
|
2019-12-25 18:02:16 +01:00
|
|
|
name: 'TypeError',
|
2018-11-03 10:27:18 -07:00
|
|
|
message: '":foo" is an invalid pseudoheader or is used incorrectly'
|
|
|
|
});
|