Name Description Size
AltDataOutputStreamChild.cpp stabilize 5220
AltDataOutputStreamChild.h 1715
AltDataOutputStreamParent.cpp 2337
AltDataOutputStreamParent.h 1889
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 46739
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 9405
AltServiceChild.cpp 3040
AltServiceChild.h 1336
AltServiceParent.cpp 1922
AltServiceParent.h 1280
AltSvcTransactionChild.cpp 2411
AltSvcTransactionChild.h 1137
AltSvcTransactionParent.cpp 2250
AltSvcTransactionParent.h 1814
ASpdySession.cpp Currently supported is h2 3139
ASpdySession.h 4096
BackgroundChannelRegistrar.cpp 2847
BackgroundChannelRegistrar.h 1882
BackgroundDataBridgeChild.cpp 1817
BackgroundDataBridgeChild.h 1397
BackgroundDataBridgeParent.cpp 2476
BackgroundDataBridgeParent.h 1263
binary_http
BinaryHttpRequest.cpp 1341
BinaryHttpRequest.h 1538
CacheControlParser.cpp 3598
CacheControlParser.h 1338
CachePushChecker.cpp 8331
CachePushChecker.h 1324
ClassOfService.h 2074
components.conf 2158
ConnectionDiagnostics.cpp 9330
ConnectionEntry.cpp 35917
ConnectionEntry.h 9341
ConnectionHandle.cpp 2883
ConnectionHandle.h 1281
DnsAndConnectSocket.cpp 48350
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 9498
EarlyHintPreconnect.cpp 3028
EarlyHintPreconnect.h 773
EarlyHintPreloader.cpp aDeleteEntry 31037
EarlyHintPreloader.h 7407
EarlyHintRegistrar.cpp aDeleteEntry 3734
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. 2680
EarlyHintsService.cpp 5388
EarlyHintsService.h 1576
HPKEConfigManager.sys.mjs Decodes a base64url-encoded key string. @param {string} aBase64Key @returns {Uint8Array} 2328
http2_huffman_table.txt 17733
Http2Compression.cpp 45880
Http2Compression.h 6839
Http2HuffmanIncoming.h THIS FILE IS AUTO-GENERATED. DO NOT EDIT! 45375
Http2HuffmanOutgoing.h THIS FILE IS AUTO-GENERATED. DO NOT EDIT! 5272
Http2Push.cpp 18243
Http2Push.h 6200
Http2Session.cpp 164660
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...) ... +---------------------------------------------------------------+ 25396
Http2Stream.cpp 10168
Http2Stream.h 2091
Http2StreamBase.cpp 47132
Http2StreamBase.h 12465
Http2StreamTunnel.cpp 22374
Http2StreamTunnel.h 5006
Http3Session.cpp 95204
Http3Session.h 15771
Http3Stream.cpp 16020
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. 5602
Http3StreamBase.h 2312
Http3WebTransportSession.cpp 17190
Http3WebTransportSession.h 4028
Http3WebTransportStream.cpp 21164
Http3WebTransportStream.h 4848
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 4742
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. 925
HttpBackgroundChannelChild.cpp 16627
HttpBackgroundChannelChild.h 5933
HttpBackgroundChannelParent.cpp Helper class for continuing the AsyncOpen procedure on main thread. 16955
HttpBackgroundChannelParent.h 4720
HttpBaseChannel.cpp 221244
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. 48148
HttpChannelChild.cpp 116420
HttpChannelChild.h 20602
HttpChannelParams.ipdlh 2148
HttpChannelParent.cpp 77511
HttpChannelParent.h 13945
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. 3694
HttpConnectionBase.h 9954
HttpConnectionMgrChild.cpp 6476
HttpConnectionMgrChild.h 2205
HttpConnectionMgrParent.cpp 10596
HttpConnectionMgrParent.h 1472
HttpConnectionMgrShell.h 11251
HttpConnectionUDP.cpp 22515
HttpConnectionUDP.h 4220
HttpInfo.cpp 522
HttpInfo.h Calls getConnectionData method in nsHttpConnectionMgr. 569
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. ***************************************************************************** 2617
HTTPSRecordResolver.cpp 6334
HTTPSRecordResolver.h 1825
HttpTrafficAnalyzer.cpp 11437
HttpTrafficAnalyzer.h 1598
HttpTrafficAnalyzer.inc 4817
HttpTransactionChild.cpp 23419
HttpTransactionChild.h 5130
HttpTransactionParent.cpp stabilize 31038
HttpTransactionParent.h 8100
HttpTransactionShell.h 11638
HttpWinUtils.cpp merge 3449
HttpWinUtils.h 434
InterceptedHttpChannel.cpp 52995
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); 11177
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 35221
MicrosoftEntraSSOUtils.h 676
MicrosoftEntraSSOUtils.mm 15869
MockHttpAuth.cpp 1680
MockHttpAuth.h 795
moz.build 6310
NetworkErrorLogging.sys.mjs 15118
NetworkMarker.cpp 14611
NetworkMarker.h 1381
nsAHttpConnection.h 15627
nsAHttpTransaction.h Xlib headers insist on this for some reason... Nuke it because it'll override our member name 13509
nsCORSListenerProxy.cpp 61346
nsCORSListenerProxy.h 5146
nsHttp.cpp 37108
nsHttp.h 18432
nsHttpActivityDistributor.cpp 9881
nsHttpActivityDistributor.h 1171
nsHttpAtomList.h 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. **** 4434
nsHttpAuthCache.cpp 11806
nsHttpAuthCache.h 7740
nsHttpAuthManager.cpp 3538
nsHttpAuthManager.h 845
nsHttpBasicAuth.cpp 3549
nsHttpBasicAuth.h 1150
nsHttpChannel.cpp 384019
nsHttpChannel.h 36658
nsHttpChannelAuthProvider.cpp 62280
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. 7391
nsHttpChunkedDecoder.cpp 5267
nsHttpChunkedDecoder.h 1570
nsHttpConnection.cpp 89356
nsHttpConnection.h 14478
nsHttpConnectionInfo.cpp 21211
nsHttpConnectionInfo.h 12106
nsHttpConnectionMgr.cpp 137140
nsHttpConnectionMgr.h 20980
nsHttpDigestAuth.cpp 23648
nsHttpDigestAuth.h 3323
nsHttpHandler.cpp ;q=0.1" #define ACCEPT_HEADER_ALL " 99690
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. 35257
nsHttpHeaderArray.cpp 16026
nsHttpHeaderArray.h 12621
nsHttpNTLMAuth.cpp 13982
nsHttpNTLMAuth.h 883
nsHttpRequestHead.cpp = nsHttpHeaderArray::eFilterAll 10632
nsHttpRequestHead.h 5679
nsHttpResponseHead.cpp 38619
nsHttpResponseHead.h Xlib headers insist on this for some reason... Nuke it because it'll override our member name 9773
nsHttpTransaction.cpp 124399
nsHttpTransaction.h 23734
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
nsICorsPreflightCallback.h 1094
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
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
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. 19848
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, checkForSuperfluousAuth MAY be called, and disconnect MUST be called. 3223
nsIHttpChannelChild.idl 1441
nsIHttpChannelInternal.idl The callback interface for nsIHttpChannelInternal::HTTPUpgrade() 19917
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 729
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 3608
nsServerTiming.h 1326
NullHttpChannel.cpp 23212
NullHttpChannel.h 1835
NullHttpTransaction.cpp 7088
NullHttpTransaction.h 3040
oblivious_http
ObliviousHTTP.sys.mjs Get a cached, or fetch a copy of, an OHTTP config from a given URL. @param {string} gatewayConfigURL The URL for the config that needs to be fetched. The URL should be complete (i.e. include the full path to the config). @returns {Uint8Array} The config bytes. 6979
ObliviousHttpChannel.cpp 26328
ObliviousHttpChannel.h 2346
ObliviousHttpService.cpp 7308
ObliviousHttpService.h 1293
OpaqueResponseUtils.cpp 23697
OpaqueResponseUtils.h 6677
PAltDataOutputStream.ipdl 1268
PAltService.ipdl 1147
PAltSvcTransaction.ipdl 604
ParentChannelListener.cpp 10005
ParentChannelListener.h 3085
PBackgroundDataBridge.ipdl 987
PendingTransactionInfo.cpp 4863
PendingTransactionInfo.h 2108
PendingTransactionQueue.cpp = false 9660
PendingTransactionQueue.h 3164
PHttpBackgroundChannel.ipdl 2870
PHttpChannel.ipdl 5790
PHttpChannelParams.h 9826
PHttpConnectionMgr.ipdl 1836
PHttpTransaction.ipdl 4684
PSpdyPush.h A pushed stream is put into a memory buffer (The SpdyPushTransactionBuffer) and spooled there until a GET is made that can be matched up with it. At that time we have two spdy streams - the GET (aka the sink) and the PUSH (aka the source). Data is copied between those two streams for the lifetime of the transaction. This is true even if the transaction buffer is empty, partly complete, or totally loaded at the time the GET correspondence is made. correspondence is done through a hash table of the full url, the spdy session, and the load group. The load group is implicit because that's where the hash is stored, the other items comprise the hash key. Pushed streams are subject to aggressive flow control before they are matched with a GET at which point flow control is effectively disabled to match the client pull behavior. 2083
QuicSocketControl.cpp 4286
QuicSocketControl.h 2188
README Darin Fisher 4209
ReplacedHttpResponse.cpp 1861
ReplacedHttpResponse.h 1015
SpeculativeTransaction.cpp 3718
SpeculativeTransaction.h 2442
TimingStruct.h 1171
TlsHandshaker.cpp 12249
TlsHandshaker.h 3305
TLSTransportLayer.cpp 27557
TLSTransportLayer.h 6370
TRRServiceChannel.cpp 49124
TRRServiceChannel.h 7415
WebTransportCertificateVerifier.cpp out 10664
WebTransportCertificateVerifier.h 852
WellKnownOpportunisticUtils.sys.mjs -*- indent-tabs-mode: nil; js-indent-level: 2 -*- 755