MCPcopy Create free account
hub / github.com/nodejs/node / [kAppendHeader]

Method [kAppendHeader]

lib/internal/http2/compat.js:664–695  ·  view source on GitHub ↗
(name, value)

Source from the content-addressed store, hash-verified

662 }
663
664 [kAppendHeader](name, value) {
665 name = name.trim().toLowerCase();
666 assertValidHeader(name, value);
667
668 if (!isConnectionHeaderAllowed(name, value)) {
669 return;
670 }
671
672 if (name[0] === ':')
673 assertValidPseudoHeader(name);
674 else if (!checkIsHttpToken(name))
675 this.destroy(new ERR_INVALID_HTTP_TOKEN('Header name', name));
676
677 // Handle various possible cases the same as OutgoingMessage.appendHeader:
678 const headers = this[kHeaders];
679 if (headers === null || !headers[name]) {
680 return this.setHeader(name, value);
681 }
682
683 if (!ArrayIsArray(headers[name])) {
684 headers[name] = [headers[name]];
685 }
686
687 const existingValues = headers[name];
688 if (ArrayIsArray(value)) {
689 for (let i = 0, length = value.length; i < length; i++) {
690 existingValues.push(value[i]);
691 }
692 } else {
693 existingValues.push(value);
694 }
695 }
696
697 get statusMessage() {
698 statusMessageWarn();

Callers

nothing calls this directly

Calls 5

destroyMethod · 0.95
setHeaderMethod · 0.95
checkIsHttpTokenFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected