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 |