MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / addHeader

Method addHeader

Libraries/Http/HttpConnection.cpp:945–999  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

943}
944
945Result HttpOutgoingMessage::addHeader(StringSpan headerName, StringSpan headerValue)
946{
947 SC_TRY_MSG(not headersSent, "Headers already sent");
948 SC_TRY_MSG(responseHeaders.writtenBytes() != 0, "startResponse or startRequest must be the first call");
949
950 if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Connection")))
951 {
952 if (HttpStringIterator::equalsIgnoreCase(headerValue, StringSpan("keep-alive")))
953 {
954 if (forceDisableKeepAlive)
955 {
956 return Result::Error("HttpOutgoingMessage::addHeader - keep-alive forcefully disabled");
957 }
958 keepAlive = true;
959 }
960 else if (HttpStringIterator::equalsIgnoreCase(headerValue, StringSpan("close")) ||
961 HttpStringIterator::equalsIgnoreCase(headerValue, StringSpan("Closed")))
962 {
963 keepAlive = false;
964 }
965 connectionHeaderAdded = true;
966 }
967 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Host")))
968 {
969 hostHeaderAdded = true;
970 }
971 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("User-Agent")))
972 {
973 userAgentHeaderAdded = true;
974 }
975 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Content-Length")))
976 {
977 contentLengthAdded = true;
978 }
979 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Content-Type")))
980 {
981 contentTypeAdded = true;
982 }
983 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Transfer-Encoding")))
984 {
985 transferEncodingAdded = true;
986 }
987 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Content-Encoding")))
988 {
989 contentEncodingAdded = true;
990 }
991 else if (HttpStringIterator::equalsIgnoreCase(headerName, StringSpan("Accept-Encoding")))
992 {
993 acceptEncodingAdded = true;
994 }
995
996 SC_TRY(responseHeaders.appendHeader(headerName, headerValue,
997 "HttpOutgoingMessage::appendAscii - header space is finished"));
998 return Result(true);
999}
1000
1001Result HttpOutgoingMessage::addContentLength(uint64_t value)
1002{

Callers 15

blockingGetMethod · 0.45
blockingPostMethod · 0.45
blockingCustomHeadersMethod · 0.45
contentCodingPolicyMethod · 0.45
protocolPreferenceMethod · 0.45
proxyOptionsMethod · 0.45
methodCoverageMethod · 0.45
onEndMethod · 0.45
pollGetMethod · 0.45
pollConcurrentGetsMethod · 0.45

Calls 3

StringSpanFunction · 0.85
ErrorEnum · 0.50
ResultClass · 0.50

Tested by 15

blockingGetMethod · 0.36
blockingPostMethod · 0.36
blockingCustomHeadersMethod · 0.36
contentCodingPolicyMethod · 0.36
protocolPreferenceMethod · 0.36
proxyOptionsMethod · 0.36
methodCoverageMethod · 0.36
onEndMethod · 0.36
pollGetMethod · 0.36
pollConcurrentGetsMethod · 0.36