Name Description Size Coverage
AltDataOutputStreamChild.cpp stabilize 5188 72 %
AltDataOutputStreamChild.h 1715 100 %
AltDataOutputStreamParent.cpp 2289 75 %
AltDataOutputStreamParent.h 1889 100 %
AlternateServices.cpp RFC 7838 Alternative Services http://httpwg.org/http-extensions/opsec.html note that connections currently do not do mixed-scheme (the I attribute in the ConnectionInfo prevents it) but could, do not honor tls-commit and should not, and always require authentication 50566 87 %
AlternateServices.h Alt-Svc allows separation of transport routing from the origin host without using a proxy. See https://httpwg.github.io/http-extensions/alt-svc.html and https://tools.ietf.org/html/draft-ietf-httpbis-alt-svc-06 Nice To Have Future Enhancements:: flush on network change event when we have an indicator use established https channel for http instead separate of conninfo hash pin via http-tls header clear based on origin when a random fail happens not just 421 upon establishment of channel, cancel and retry trans that have not yet written anything persistent storage (including private browsing filter) memory reporter for cache, but this is rather tiny 10669 90 %
AltServiceChild.cpp 3194 0 %
AltServiceChild.h 1394 0 %
AltServiceParent.cpp 2110 0 %
AltServiceParent.h 1325 0 %
AltSvcTransactionChild.cpp 2411 0 %
AltSvcTransactionChild.h 1134 0 %
AltSvcTransactionParent.cpp 2250 0 %
AltSvcTransactionParent.h 1531 0 %
ASpdySession.cpp Currently supported is h2 1648 100 %
ASpdySession.h 4352 72 %
BackgroundChannelRegistrar.cpp 2847 96 %
BackgroundChannelRegistrar.h 1879 0 %
BackgroundDataBridgeChild.cpp 1787 0 %
BackgroundDataBridgeChild.h 1374 0 %
BackgroundDataBridgeParent.cpp 2444 0 %
BackgroundDataBridgeParent.h 1263 0 %
binary_http 100 %
BinaryHttpRequest.cpp 1341 100 %
BinaryHttpRequest.h 1538 100 %
CacheControlParser.cpp 3598 96 %
CacheControlParser.h 1336 -
CacheEntryWriteHandleChild.h CacheEntryWriteHandleChild is a wrapper for nsICacheEntry, for the asynchronous OpenAlternativeOutputStream call. 1148 100 %
CacheEntryWriteHandleParent.h CacheEntryWriteHandleParent is a wrapper for nsICacheEntry, for the asynchronous OpenAlternativeOutputStream call. 1212 100 %
Capsule.cpp 4813 96 %
Capsule.h 8347 99 %
CapsuleDecoder.cpp 1693 94 %
CapsuleDecoder.h 1280 -
CapsuleEncoder.cpp 6351 98 %
CapsuleEncoder.h 1940 100 %
CapsuleParser.cpp 7654 85 %
CapsuleParser.h 2878 100 %
ClassOfService.h 2068 95 %
components.conf 2158 -
ConnectionAttempt.cpp 1518 100 %
ConnectionAttempt.h 3429 83 %
ConnectionAttemptPool.cpp 6450 88 %
ConnectionAttemptPool.h 1694 100 %
ConnectionDiagnostics.cpp 9146 0 %
ConnectionEntry.cpp 35465 85 %
ConnectionEntry.h 10189 100 %
ConnectionEstablisher.cpp 18585 77 %
ConnectionEstablisher.h 4276 57 %
ConnectionHandle.cpp 2844 95 %
ConnectionHandle.h 1376 100 %
DnsAndConnectSocket.cpp 51328 95 %
DnsAndConnectSocket.h State: INIT: initial state. From this state: 1) change the state to RESOLVING and start the primary DNS lookup if mSkipDnsResolution is false, 2) or the lookup is skip and the state changes to CONNECTING and start the backup timer. 3) or changes to DONE in case of an error. RESOLVING: the primary DNS resolution is in progress. From this state we transition into CONNECTING or DONE. CONNECTING: We change to this state when the primary connection has started. At that point the backup timer is started. ONE_CONNECTED: We change into this state when one of the connections is connected and the second is in progres. DONE Events: INIT_EVENT: Start the primary dns resolution (if mSkipDnsResolution is false), otherwise start the primary connection. RESOLVED_PRIMARY_EVENT: the primary DNS resolution is done. This event may be resent due to DNS retries CONNECTED_EVENT: A connecion (primary or backup) is done 7945 93 %
EarlyHintPreconnect.cpp 2893 89 %
EarlyHintPreconnect.h 773 -
EarlyHintPreloader.cpp aDeleteEntry 31436 89 %
EarlyHintPreloader.h 7407 100 %
EarlyHintRegistrar.cpp aDeleteEntry 3734 88 %
EarlyHintRegistrar.h Registrar for pairing EarlyHintPreloader and HttpChannelParent via earlyHintPreloaderId. EarlyHintPreloader has to be registered first. EarlyHintPreloader::OnParentReady will be invoked to notify the EarlyHintpreloader about the existence of the associated HttpChannelParent. 2677 -
EarlyHintsService.cpp 5732 85 %
EarlyHintsService.h 1576 100 %
happy_eyeballs_glue 53 %
HappyEyeballsConnectionAttempt.cpp 33769 71 %
HappyEyeballsConnectionAttempt.h 4671 50 %
HPKEConfigManager.sys.mjs Fetches and caches HPKE (Hybrid Public Key Encryption) configuration blobs from remote URLs. 2503 93 %
http2_huffman_table.txt 17733 -
Http2Compression.cpp 44964 84 %
Http2Compression.h 6459 84 %
Http2HuffmanIncoming.h THIS FILE IS AUTO-GENERATED. DO NOT EDIT! 45369 100 %
Http2HuffmanOutgoing.h THIS FILE IS AUTO-GENERATED. DO NOT EDIT! 5266 -
Http2Session.cpp 151962 69 %
Http2Session.h HTTP/2 framing 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length (16) | Type (8) | Flags (8) | +-+-------------+---------------+-------------------------------+ |R| Stream Identifier (31) | +-+-------------------------------------------------------------+ | Frame Data (0...) ... +---------------------------------------------------------------+ 26735 95 %
Http2Stream.cpp 5096 94 %
Http2Stream.h 1855 50 %
Http2StreamBase.cpp stablize 47967 72 %
Http2StreamBase.h 13133 90 %
Http2StreamTunnel.cpp 20774 75 %
Http2StreamTunnel.h 4544 74 %
Http2WebTransportSession.cpp 23546 61 %
Http2WebTransportSession.h 8185 76 %
Http2WebTransportStream.cpp 15198 77 %
Http2WebTransportStream.h 3788 71 %
Http3ConnectUDPStream.cpp 10806 63 %
Http3ConnectUDPStream.h 3178 59 %
Http3Session.cpp 112633 79 %
Http3Session.h 20101 91 %
Http3Stream.cpp 16137 74 %
Http3Stream.h SendStreamState: While sending request: - PREPARING_HEADERS: In this state we are collecting the headers and in some cases also waiting to be able to create a new stream. We need to read all headers into a buffer before calling Http3Session::TryActivating. Neqo may not have place for a new stream if it hits MAX_STREAMS limit. In that case the steam will be queued and dequeue when neqo can again create new stream (RequestsCreatable will be called). If transaction has data to send state changes to SENDING_BODY, otherwise the state transfers to READING_HEADERS. - SENDING_BODY: The stream will be in this state while the transaction is sending request body. Http3Session::SendRequestBody will be call to give the data to neqo. After SENDING_BODY, the state transfers to READING_HEADERS. - EARLY_RESPONSE: The server may send STOP_SENDING frame with error HTTP_NO_ERROR. That error means that the server is not interested in the request body. In this state the server will just ignore the request body. 5719 100 %
Http3StreamBase.h 2754 88 %
Http3StreamTunnel.cpp 23258 73 %
Http3StreamTunnel.h 3985 58 %
Http3WebTransportSession.cpp 17595 78 %
Http3WebTransportSession.h 4600 92 %
Http3WebTransportStream.cpp 20667 68 %
Http3WebTransportStream.h 3949 33 %
HttpAuthUtils.cpp host: bar.com foo.bar.com foobar.com foo.bar.com bar.com pref: bar.com bar.com bar.com .bar.com .bar.com result: accept accept reject accept reject 4716 65 %
HttpAuthUtils.h Tries to match the given URI against the value of a given pref The pref should be in pseudo-BNF format. url-list base-url ( base-url "," LWS )* base-url ( scheme-part | host-part | scheme-part host-part ) scheme-part scheme "://" host-part host [":" port] for example: "https://, http://office.foo.com" Will return true if the URI matches any of the patterns, or false otherwise. 922 -
HttpBackgroundChannelChild.cpp 16543 64 %
HttpBackgroundChannelChild.h 5874 33 %
HttpBackgroundChannelParent.cpp Helper class for continuing the AsyncOpen procedure on main thread. 16936 90 %
HttpBackgroundChannelParent.h 4715 50 %
HttpBaseChannel.cpp 228753 86 %
HttpBaseChannel.h This class is a partial implementation of nsIHttpChannel. It contains code shared by nsHttpChannel and HttpChannelChild. - Note that this class has nothing to do with nsBaseChannel, which is an earlier effort at a base class for channels that somehow never made it all the way to the HTTP channel. 48157 96 %
HttpChannelChild.cpp 123016 88 %
HttpChannelChild.h 21104 63 %
HttpChannelParams.ipdlh 2199 -
HttpChannelParent.cpp 79532 86 %
HttpChannelParent.h 14344 0 %
HttpConnectionBase.cpp The returned telemetry key has the format: "Version_EndToEndSSL_IsTrrServiceChannel_ExperienceState_ConnectionState" - Version: The HTTP version of the connection. - EndToEndSSL: Indicates whether SSL encryption is end-to-end. - IsTrrServiceChannel: Specifies if the connection is used to send TRR requests. - ExperienceState: ConnectionExperienceState - ConnectionState: The connection state before closing. 6365 97 %
HttpConnectionBase.h 11206 70 %
HttpConnectionMgrChild.cpp 6314 0 %
HttpConnectionMgrChild.h 2202 0 %
HttpConnectionMgrParent.cpp 10391 0 %
HttpConnectionMgrParent.h 1469 0 %
HttpConnectionMgrShell.h 10710 -
HttpConnectionUDP.cpp 41374 80 %
HttpConnectionUDP.h 5290 67 %
HttpInfo.cpp 783 50 %
HttpInfo.h Calls getConnectionData method in nsHttpConnectionMgr. 655 -
HttpLog.h This file should ONLY be #included by source (.cpp) files in the /http directory, not headers (.h). If you need to use LOG() in a .h file, call PR_LOG directly. This file should also be the first #include in your file. Yes, this is kludgy. ***************************************************************************** 2757 -
HTTPSRecordResolver.cpp 6147 93 %
HTTPSRecordResolver.h 1650 100 %
HttpTrafficAnalyzer.cpp 11275 87 %
HttpTrafficAnalyzer.h 1598 -
HttpTrafficAnalyzer.inc 4817 -
HttpTransactionChild.cpp 22593 0 %
HttpTransactionChild.h 5232 0 %
HttpTransactionParent.cpp stabilize 30897 0 %
HttpTransactionParent.h 7694 0 %
HttpTransactionShell.h 11716 0 %
HttpWinUtils.cpp merge 3877 0 %
HttpWinUtils.h 431 -
InterceptedHttpChannel.cpp 53900 79 %
InterceptedHttpChannel.h InterceptionTimeStamps is used to record the time stamps of the interception. The general usage: Step 1. Initialize the InterceptionTimeStamps; InterceptionTimeStamps::Init(channel); Step 2. Record time for each stage InterceptionTimeStamps::RecordTime(); or InterceptionTimeStamps::RecordTime(timeStamp); Step 3. Record time for the last stage with the final status InterceptionTimeStamps::RecordTime(InterceptionTimeStamps::Synthesized); 11462 13 %
make_incoming_tables.py 5798 -
make_outgoing_tables.py /* * THIS FILE IS AUTO-GENERATED. DO NOT EDIT! */ #ifndef mozilla__net__Http2HuffmanOutgoing_h #define mozilla__net__Http2HuffmanOutgoing_h namespace mozilla { namespace net { struct HuffmanOutgoingEntry { uint32_t mValue; uint8_t mLength; }; static const HuffmanOutgoingEntry HuffmanOutgoing[] = { 1473 -
metrics.yaml 93057 -
MicrosoftEntraSSOUtils.h 673 -
MicrosoftEntraSSOUtils.mm 15143 -
MockHttpAuth.cpp 1680 100 %
MockHttpAuth.h 792 100 %
moz.build 7039 -
NetworkErrorLogging.sys.mjs Implements the W3C Network Error Logging (NEL) specification (https://www.w3.org/TR/network-error-logging/). 14080 -
NetworkMarker.cpp 18737 94 %
NetworkMarker.h 1609 -
nsAHttpConnection.cpp stablize 1579 96 %
nsAHttpConnection.h 15529 80 %
nsAHttpTransaction.h Xlib headers insist on this for some reason... Nuke it because it'll override our member name 13677 40 %
nsCORSListenerProxy.cpp 65377 92 %
nsCORSListenerProxy.h 5258 100 %
nsHttp.cpp 36735 82 %
nsHttp.h 18596 97 %
nsHttpActivityDistributor.cpp 9875 63 %
nsHttpActivityDistributor.h 1168 100 %
nsHttpAtomList.inc This file contains the list of all HTTP atoms See nsHttp.h for access to the atoms. It is designed to be used as inline input to nsHttp.cpp *only* through the magic of C preprocessing. All entries must be enclosed in the macro HTTP_ATOM which will have cruel and unusual things done to it. The first argument to HTTP_ATOM is the C++ name of the atom. The second argument to HTTP_ATOM is the string value of the atom. **** 4889 -
nsHttpAuthCache.cpp 13585 72 %
nsHttpAuthCache.h 7978 93 %
nsHttpAuthManager.cpp static 3835 89 %
nsHttpAuthManager.h 912 100 %
nsHttpBasicAuth.cpp 3549 100 %
nsHttpBasicAuth.h 1120 100 %
nsHttpChannel.cpp 451975 85 %
nsHttpChannel.h 40476 100 %
nsHttpChannelAuthProvider.cpp 56341 90 %
nsHttpChannelAuthProvider.h Following three methods return NS_ERROR_IN_PROGRESS when nsIAuthPrompt2.asyncPromptAuth method is called. This result indicates the user's decision will be gathered in a callback and is not an actual error. 7286 89 %
nsHttpChunkedDecoder.cpp 5230 88 %
nsHttpChunkedDecoder.h 1568 88 %
nsHttpConnection.cpp 92330 82 %
nsHttpConnection.h 14375 90 %
nsHttpConnectionInfo.cpp 25034 82 %
nsHttpConnectionInfo.h 13512 97 %
nsHttpConnectionMgr.cpp 140573 84 %
nsHttpConnectionMgr.h 21469 67 %
nsHttpDigestAuth.cpp 23616 87 %
nsHttpDigestAuth.h 3289 100 %
nsHttpHandler.cpp ;q=0.1" #define ACCEPT_HEADER_JSON "application/json, 105872 82 %
nsHttpHandler.h FRAMECHECK_LAX - no check FRAMECHECK_BARELY - allows: 1) that chunk-encoding does not have the last 0-size chunk. So, if a chunked-encoded transfer ends on exactly a chunk boundary we consider that fine. This will allows us to accept buggy servers that do not send the last chunk. It will make us not detect a certain amount of cut-offs. 2) When receiving a gzipped response, we consider a gzip stream that doesn't end fine according to the gzip decompressing state machine to be a partial transfer. If a gzipped transfer ends fine according to the decompressor, we do not check for size unalignments. This allows to allow HTTP gzipped responses where the Content-Length is not the same as the actual contents. 3) When receiving HTTP that isn't content-encoded/compressed (like in case 2) and not chunked (like in case 1), perform the size comparison between Content-Length: and the actual size received and consider a mismatch to mean a NS_ERROR_NET_PARTIAL_TRANSFER error. FRAMECHECK_STRICT_CHUNKED - This is the same as FRAMECHECK_BARELY only we enforce that the last 0-size chunk is received in case 1). FRAMECHECK_STRICT - we also do not allow case 2) and 3) from FRAMECHECK_BARELY. 35748 96 %
nsHttpHeaderArray.cpp 16928 95 %
nsHttpHeaderArray.h 12536 97 %
nsHttpNTLMAuth.cpp 13887 74 %
nsHttpNTLMAuth.h 880 100 %
nsHttpRequestHead.cpp = nsHttpHeaderArray::eFilterAll 10909 72 %
nsHttpRequestHead.h 5956 100 %
nsHttpResponseHead.cpp 42141 88 %
nsHttpResponseHead.h Xlib headers insist on this for some reason... Nuke it because it'll override our member name 11179 100 %
nsHttpTransaction.cpp 133542 88 %
nsHttpTransaction.h 24783 97 %
nsIBackgroundChannelRegistrar.idl Registrar for pairing HttpChannelParent and HttpBackgroundChannelParent via channel Id. HttpChannelParent::OnBackgroundParentReady and HttpBackgroundChannelParent::LinkToChannel will be invoked to notify the existence of associated channel object. 2424 -
nsIBinaryHttp.idl 1787 -
nsICORSPreflightCache.idl nsICORSPreflightCache Provides methods for iterating across the preflight cache entries for access and modification 954 -
nsICORSPreflightCacheEntry.idl nsICORSPreflightCacheEntry Defines an interface representing a cache entry in the preflight cache. 1522 -
nsICorsPreflightCallback.h 815 -
nsIEarlyHintObserver.idl This method is called when the transaction has early hint (i.e. the '103 Early Hint' informational response) headers. 654 -
nsIHttpActivityObserver.idl nsIHttpActivityObserver This interface provides a way for http activities to be reported to observers. 9587 -
nsIHttpAuthCache.idl nsIHttpAuthCache Provides methods for iterating across the HTTP authentication cache entries for access and modification 823 -
nsIHttpAuthenticableChannel.idl If the channel being authenticated is using SSL. 3855 -
nsIHttpAuthenticator.idl nsIHttpAuthenticator Interface designed to allow for pluggable HTTP authentication modules. Implementations are registered under the ContractID: "@mozilla.org/network/http-authenticator;1?scheme=<auth-scheme>" where <auth-scheme> is the lower-cased value of the authentication scheme found in the server challenge per the rules of RFC 2617. 10060 -
nsIHttpAuthEntry.idl nsIHttpAuthIdentity Defines an interface (domain, user, and password) identifying the HTTP authentication cache entry. 1201 -
nsIHttpAuthManager.idl nsIHttpAuthManager This service provides access to cached HTTP authentication user credentials (domain, username, password) for sites visited during the current browser session. This interface exists to provide other HTTP stacks with the ability to share HTTP authentication credentials with Necko. This is currently used by the Java plugin (version 1.5 and higher) to avoid duplicate authentication prompts when the Java client fetches content from a HTTP site that the user has already logged into. 4892 -
nsIHttpChannel.idl nsIHttpChannel This interface allows for the modification of HTTP request parameters and the inspection of the resulting HTTP response status and headers when they become available. 20033 -
nsIHttpChannelAuthProvider.idl nsIHttpChannelAuthProvider This interface is intended for providing authentication for http-style channels, like nsIHttpChannel and nsIWebSocket, which implement the nsIHttpAuthenticableChannel interface. When requesting pages AddAuthorizationHeaders MUST be called in order to get the http cached headers credentials. When the request is unsuccessful because of receiving either a 401 or 407 http response code ProcessAuthentication MUST be called and the page MUST be requested again with the new credentials that the user has provided. After a successful request disconnect MUST be called. 3025 -
nsIHttpChannelChild.idl 1441 -
nsIHttpChannelInternal.idl The callback interface for nsIHttpChannelInternal::HTTPUpgrade() 20045 -
nsIHttpHeaderVisitor.idl Implement this interface to visit http headers. 898 -
nsIHttpProtocolHandler.idl Get the HTTP advertised user agent string. 7979 -
nsINetworkErrorLogging.idl Called by nsHttpChannel to register a NEL policy 964 -
nsIObliviousHttp.idl 3441 -
nsIObliviousHttpChannel.idl nsIObliviousHttpChannel This interface allows consumers to differentiate between the relayChannel request that transports the OHTTP payload and the virtual OHTTP channel represented by the nsIObliviousHttpChannel implementation. 1011 -
nsIRaceCacheWithNetwork.idl This holds methods used to race the cache with the network for a specific channel. This interface is was designed with nsHttpChannel in mind, and it's expected this will be the only class implementing it. 2589 -
nsIReplacedHttpResponse.idl nsIHttpChannel This interface allows to create an object holding mocked data which will replace the response for a channel. To override the channel's response use nsIHttpChannelInternal::setResponseOverride with an instance of nsIReplacedHttpResponse as parameter. 1180 -
nsITlsHandshakeListener.idl 554 -
nsIWellKnownOpportunisticUtils.idl For parsing JSON from http://httpwg.org/http-extensions/opsec.html 757 -
nsServerTiming.cpp 3859 93 %
nsServerTiming.h 1324 100 %
NullHttpChannel.cpp 23626 2 %
NullHttpChannel.h 1835 100 %
NullHttpTransaction.cpp 7107 87 %
NullHttpTransaction.h 2762 80 %
oblivious_http 91 %
ObliviousHTTP.sys.mjs @typedef {object} OHTTPResponse An object with properties mimicking that of a Response. @property {boolean} ok Indicates whether the request was successful. @property {number} status Representation of the HTTP status code. @property {?Headers} headers Representing the response headers. @property {() => ?JSON} json Returns the parsed JSON response body. @property {() => ?Blob} blob Returns a Blob response body. 7531 67 %
ObliviousHttpChannel.cpp 26699 47 %
ObliviousHttpChannel.h 2346 75 %
ObliviousHttpService.cpp 7319 89 %
ObliviousHttpService.h 1293 100 %
OpaqueResponseUtils.cpp 23254 85 %
OpaqueResponseUtils.h 6465 6 %
PAltDataOutputStream.ipdl 1268 -
PAltService.ipdl 1211 -
PAltSvcTransaction.ipdl 604 -
ParentChannelListener.cpp 10005 76 %
ParentChannelListener.h 2829 100 %
PBackgroundDataBridge.ipdl 1016 -
PCacheEntryWriteHandle.ipdl 538 -
PendingTransactionInfo.cpp 4710 100 %
PendingTransactionInfo.h 1911 86 %
PendingTransactionQueue.cpp = false 10042 93 %
PendingTransactionQueue.h 3518 100 %
PHttpBackgroundChannel.ipdl 2898 -
PHttpChannel.ipdl 6209 -
PHttpChannelParams.h 10813 74 %
PHttpConnectionMgr.ipdl 1836 -
PHttpTransaction.ipdl 4619 -
QuicSocketControl.cpp 4207 92 %
QuicSocketControl.h 1944 100 %
README Darin Fisher 4209 -
ReplacedHttpResponse.cpp 1861 96 %
ReplacedHttpResponse.h 1182 100 %
SpeculativeTransaction.cpp 3791 95 %
SpeculativeTransaction.h 2731 100 %
TimingStruct.h 1171 -
TlsHandshaker.cpp 12307 81 %
TlsHandshaker.h 3327 90 %
TLSTransportLayer.cpp 27753 70 %
TLSTransportLayer.h 6189 86 %
TRRServiceChannel.cpp 49636 69 %
TRRServiceChannel.h 7031 18 %
WebTransportCertificateVerifier.cpp out 10128 0 %
WebTransportCertificateVerifier.h 852 -
WebTransportFlowControl.cpp 2581 100 %
WebTransportFlowControl.h 9132 97 %
WebTransportSessionBase.cpp 553 100 %
WebTransportSessionBase.h 1590 100 %
WebTransportStreamBase.cpp 2225 98 %
WebTransportStreamBase.h 4483 82 %
WellKnownOpportunisticUtils.sys.mjs -*- indent-tabs-mode: nil; js-indent-level: 2 -*- 755 71 %