Index

A B C D E F G H I J K L M N O P Q R S T U V W X Z 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

A - Static variable in class org.microproxy.dns.DnsMessage
Type A: an IPv4 address.
AAAA - Static variable in class org.microproxy.dns.DnsMessage
Type AAAA: an IPv6 address.
abort() - Method in interface org.microproxy.HttpProxyServer
Stops immediately, closing all connections without waiting.
accept() - Method in class io.github.mahmoudimus.quic.QuicServer
Waits for the next established connection.
accept(Dir) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Accepts a stream the peer opened.
accept(EarlyDataAttempt) - Method in interface io.github.mahmoudimus.quic.tls.EarlyDataPolicy
Whether to accept a client's early data.
accept(String) - Static method in interface org.microproxy.AuthResult
Accepts the client with the given user name.
accept(String) - Method in class org.microproxy.extras.AccessLogWriter
 
accept(Duration) - Method in class io.github.mahmoudimus.quic.QuicServer
Waits for the next established connection, up to a timeout.
ACCEPT_ALL - Static variable in interface io.github.mahmoudimus.quic.tls.EarlyDataPolicy
Accepts any early data the protocol allows, with no protection against replay.
ACCEPT_ENCODING - Static variable in class org.microproxy.http.HttpHeaderNames
The Accept-Encoding header field name.
Accepted(String) - Constructor for record class org.microproxy.AuthResult.Accepted
Creates an instance of a Accepted record class.
ACCEPTED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
acceptedAt() - Method in class org.microproxy.FlowContext
When the client connection was accepted (when this context was created, for contexts made outside the proxy).
acceptStream() - Method in class io.github.mahmoudimus.quic.QuicConnection
Waits for a stream the peer opened, bidirectional or unidirectional (receive-only).
acceptStream(Dir) - Method in class io.github.mahmoudimus.quic.connection.Connection
Accepts a stream the peer opened.
ACCESS_DENIED - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
Access was denied (49).
accessLogExporter() - Method in class org.microproxy.otel.Telemetry
Returns the access-log exporter, which Telemetry.install(org.microproxy.HttpProxyServerBootstrap) adds as a tracker; null without log export.
AccessLogFilter - Interface in org.microproxy.extras
AccessLogFilter.Comparison - Enum Class in org.microproxy.extras
AccessLogFormat - Class in org.microproxy.extras
An access-log line format, compatible with Envoy's access-log command operators: a format string such as [%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS%, or a JSON dictionary whose values are format strings.
AccessLogWriter - Class in org.microproxy.extras
Where an ActivityLogger writes its lines: a file it appends to, or standard output.
ack() - Method in record class io.github.mahmoudimus.http2.Frame.Ping
Returns the value of the ack record component.
ack() - Method in record class io.github.mahmoudimus.http2.Frame.Settings
Returns the value of the ack record component.
ack() - Method in record class org.microproxy.frames.Http2Frame.Ping
Returns the value of the ack record component.
ack() - Method in record class org.microproxy.frames.Http2Frame.Settings
Returns the value of the ack record component.
ack(long, long) - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Records that the peer acknowledged a range, releasing any acknowledged prefix.
Ack(List<Frame.AckRange>, long, Frame.EcnCounts) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.Ack
An ACK frame.
ACK - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
ACK (0x02) and ACK with ECN counts (0x03).
ACK_FREQUENCY - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
ACK_FREQUENCY (0xaf) of the QUIC ACK frequency extension.
ackDelay() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Returns the value of the ackDelay record component.
ackDelay(long) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
The time since the largest packet arrived, for the ACK Delay field.
ackDelayExponent() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the ackDelayExponent record component.
ackDelayExponent() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the ackDelayExponent record component.
ackDelayExponent(int) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets our ack_delay_exponent.
ackDelayExponent(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets ack_delay_exponent.
ackEliciting() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
Whether the packet must be acknowledged.
ackElicitingInFlight() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Ack-eliciting packets in flight.
ackElicitingThreshold() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Returns the value of the ackElicitingThreshold record component.
ackFrame(long, long, Frame.EcnCounts) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Builds the ACK frame for the pending ranges.
ackFrequency - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Whether an ACK_FREQUENCY is needed.
ackFrequency() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The ACK delays of both endpoints.
AckFrequency(long, long, long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
An ACK_FREQUENCY frame.
ackFrequencyReceived(Frame.AckFrequency, PendingAcks) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Applies a received ACK_FREQUENCY frame, unless an equal or newer one was applied already.
ackFrequencySent(long, long) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Records that a packet carried an ACK_FREQUENCY frame.
AckFrequencyState - Class in io.github.mahmoudimus.quic.connection
State of the QUIC ACK frequency extension, as quinn implements it: the max_ack_delay the peer uses (its transport parameter, or what we last asked for in an ACK_FREQUENCY frame once it is acknowledged) and the one we use (ours, or what the peer asked for).
AckFrequencyState(long) - Constructor for class io.github.mahmoudimus.quic.connection.AckFrequencyState
The state before any ACK_FREQUENCY frame.
acknowledgement() - Static method in record class io.github.mahmoudimus.http2.Frame.Settings
The acknowledgement of a peer's SETTINGS.
AckRange(long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.AckRange
A range.
acks() - Method in record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Returns the value of the acks record component.
acksSent() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Records that an ACK was sent, suppressing more until new ack-eliciting packets arrive.
acquired() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns the value of the acquired record component.
active() - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
The ID in use.
activeCids() - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
The IDs issued and not retired, by sequence number.
activeConnectionIdLimit() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the activeConnectionIdLimit record component.
activeConnectionIdLimit(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The active_connection_id_limit transport parameter: how many of the peer's connection IDs to keep.
activeConnectionIdLimit(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets active_connection_id_limit.
activeConnections() - Method in record class org.microproxy.PoolMetrics
Returns the value of the activeConnections record component.
activeMigration(boolean) - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
Whether connections may migrate to a new local address (Connection.probePath(long, java.net.InetSocketAddress)), on by default.
activeResetToken() - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
The reset token of the ID in use.
activeSeq() - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
The sequence number of the ID in use.
ActivityLogger - Class in org.microproxy.extras
An ActivityTracker that writes one access-log line per finished exchange or flow (ActivityTracker.flowEnded(org.microproxy.FlowRecord)), in an AccessLogFormat: one of the LogFormat presets, or an Envoy-compatible format string or JSON dictionary.
ActivityLogger(AccessLogFormat, Consumer<String>) - Constructor for class org.microproxy.extras.ActivityLogger
Logs each line in format to sink.
ActivityLogger(LogFormat) - Constructor for class org.microproxy.extras.ActivityLogger
Logs in a preset format to the System.Logger named org.microproxy.extras.ActivityLogger.
ActivityLogger(LogFormat, Consumer<String>) - Constructor for class org.microproxy.extras.ActivityLogger
Logs each line in a preset format to sink, e.g. a file writer.
ActivityLogger.Builder - Class in org.microproxy.extras
Builds an ActivityLogger.
ActivityTracker - Interface in org.microproxy
Observes proxy activity, e.g. for metrics or access logs.
ActivityTrackerAdapter - Class in org.microproxy
An ActivityTracker that ignores everything; extend it and override what you need.
ActivityTrackerAdapter() - Constructor for class org.microproxy.ActivityTrackerAdapter
Creates an observer whose activity callbacks do nothing.
add(long) - Method in interface org.microproxy.stats.Counter
Adds n.
add(long) - Method in interface org.microproxy.stats.Gauge
Adds delta, which may be negative.
add(RangeSet) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Adds every value of another set.
add(String) - Method in class org.microproxy.extras.BlockList.Builder
Adds a rule from a spec.
add(String) - Method in class org.microproxy.extras.MapLocal.Builder
Adds a rule from a spec.
add(String) - Method in class org.microproxy.extras.MapRemote.Builder
Adds a rule from a spec.
add(String) - Method in class org.microproxy.extras.ModifyBody.Builder
Adds a rule from a spec.
add(String, Iterable<?>) - Method in class org.microproxy.http.HttpHeaders
Appends one field for each supplied value.
add(String, Object) - Method in class org.microproxy.http.HttpHeaders
Appends a field after validating its name and value.
add(String, Object) - Method in class org.microproxy.starlark.ScriptHeaders
Appends values to a header without removing existing values.
add(Collection<RecordedExchange>) - Method in class org.microproxy.extras.ServerReplay.Builder
Adds recorded exchanges.
add(BlockList.Rule) - Method in class org.microproxy.extras.BlockList.Builder
Adds a rule.
add(MapLocal.Rule) - Method in class org.microproxy.extras.MapLocal.Builder
Adds a rule.
add(MapRemote.Rule) - Method in class org.microproxy.extras.MapRemote.Builder
Adds a rule.
add(ModifyBody.Rule) - Method in class org.microproxy.extras.ModifyBody.Builder
Adds a rule.
add(RewriteRules.Rule) - Method in class org.microproxy.extras.RewriteRules.Builder
Appends a rule to this rewrite configuration.
add(HttpHeaders) - Method in class org.microproxy.http.HttpHeaders
Appends every field of other.
addEvent(String, Map<String, ?>) - Method in interface org.microproxy.FlowTrace
Adds an event, at the current time, to the exchange's span; ignored when it is not sampled.
addEvent(String, Dict<?, ?>, StarlarkThread) - Method in class org.microproxy.starlark.ScriptTrace
trace.add_event(name, attributes={}): adds an event, now, to the exchange's span.
additionals() - Method in class org.microproxy.dns.DnsMessage
Returns the additional section, an EDNS OPT record included.
addResponseFlag(ResponseFlag) - Method in class org.microproxy.FlowContext
Adds flag to the response flags of the exchange in progress: for a filter that answers or refuses a request for a reason the access log should show (a rate limiter's ResponseFlag.RATE_LIMITED, say).
address() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
Returns the value of the address record component.
address() - Method in record class org.microproxy.dns.DnsMessage.Address
Returns the value of the address record component.
Address(InetAddress) - Constructor for record class org.microproxy.dns.DnsMessage.Address
Checks the address.
addresses() - Method in record class org.microproxy.dns.DnssecHostResolver.Resolution
Returns the value of the addresses record component.
addStream(int) - Method in class io.github.mahmoudimus.http2.FlowController
Starts tracking a stream that has just opened.
addSubjectAltName(String) - Method in class org.microproxy.tls.CertificateBuilder
Adds a DNS name or IP literal to the subject alternative names.
addUnknownParameter(UnknownParameter) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Adds an uninterpreted parameter, such as a GREASE one from UnknownParameter.grease(java.util.Random).
adjust(long) - Method in class io.github.mahmoudimus.http2.FlowControlWindow
Applies a change of SETTINGS_INITIAL_WINDOW_SIZE (delta = new - old) to a stream window (§6.9.2).
advanceCryptoOffset(long) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Advances the outgoing CRYPTO offset.
aead() - Method in enum class io.github.mahmoudimus.quic.CipherSuite
The JCA transformation of the suite's AEAD.
AEAD_LIMIT_REACHED - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The AEAD confidentiality or integrity limit was reached.
aes() - Method in enum class io.github.mahmoudimus.quic.CipherSuite
Whether header protection uses AES (as opposed to ChaCha20).
AES_GCM_CONFIDENTIALITY_LIMIT - Static variable in class io.github.mahmoudimus.quic.crypto.PacketKey
The AES-GCM confidentiality limit: packets sealed under one key (RFC 9001 section 6.6).
AES_GCM_INTEGRITY_LIMIT - Static variable in class io.github.mahmoudimus.quic.crypto.PacketKey
The AES-GCM integrity limit: failed openings under one key (RFC 9001 section 6.6).
ageSkew() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
How far the two ticket ages differ: a replay of an old first flight shows up as a large difference, since the client's reported age is frozen in it.
alert() - Method in record class org.microproxy.ProxyFailure.TlsFailed
Returns the description of the TLS alert the peer ended the handshake with, as RFC 8446 section 6 names it ("unrecognized_name", "handshake_failure", ...), or null when the peer sent none.
ALERT_RECEIVED - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The peer ended the handshake with an alert (ProxyFailure.TlsFailed.alert() names it).
alertOf(Throwable) - Static method in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The description of the alert the peer ended a handshake with, as the JDK reports it: "Received fatal alert: unrecognized_name", or "Received handshake warning: ..." for a warning it does not accept during a handshake.
algorithms(StarlarkThread) - Method in class org.microproxy.starlark.stdlib.HashlibModule
Lists the supported Python hash algorithm names in sorted order.
ALL - Static variable in interface org.microproxy.extras.AccessLogFilter
Logs everything.
ALL - Static variable in class org.microproxy.extras.FlowFilter
The filter that matches every exchange (~all).
allocate(RandomGenerator, PacketSpace) - Method in class io.github.mahmoudimus.quic.connection.PacketNumberFilter
Allocates the next packet number, skipping it if it is the chosen one.
allocBytes() - Method in class org.microproxy.ScriptUsage
Returns about how many bytes of values the calls created, together.
allOf(AccessLogFilter...) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes what all of filters pass.
allowChunkedLength() - Method in class org.microproxy.ProtocolPolicy
HTTP/1 only: whether an HTTP/1.1 request with both Transfer-Encoding and Content-Length is accepted (see HttpProxyServerBootstrap.withAllowChunkedLength(boolean)).
allowChunkedLength(boolean) - Method in class org.microproxy.Http1PolicyBuilder
Sets ProtocolPolicy.allowChunkedLength(): whether an HTTP/1.1 request with both Transfer-Encoding and Content-Length is accepted, its Content-Length dropped and the connection closed after the response, as HttpProxyServerBootstrap.withAllowChunkedLength(boolean) says for the whole server.
allowedInCertificateVerify() - Method in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
Whether TLS 1.3 allows the scheme in a CertificateVerify message.
allowMitm(BooleanSupplier) - Method in class org.microproxy.HttpFiltersBuilder
Whether CONNECT requests may be intercepted (default true when MITM is configured).
allowMitmFor(Predicate<? super ClientHello>) - Method in class org.microproxy.HttpFiltersBuilder
Whether a TLS connection may be intercepted, decided from the client's ClientHello (its server name and ALPN protocols); see HttpFilters.proxyToServerAllowMitm(ClientHello).
allowsEarlyData() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
Whether the ticket allows 0-RTT data.
allowSpin(boolean) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Whether to take part in the latency spin bit (RFC 9000 section 17.4); when on, a connection still opts out one time in eight.
allowsResumptionFrom(TransportParameters) - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Whether a server whose parameters these are may accept 0-RTT from a client that remembers remembered (RFC 9000 section 7.4.1): none of the limits the client may use in 0-RTT is smaller now than then.
alpn() - Method in class io.github.mahmoudimus.quic.connection.Connection
The application protocol agreed with ALPN.
alpn() - Method in class io.github.mahmoudimus.quic.QuicConnection
The application protocol agreed with ALPN.
alpn() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns the value of the alpn record component.
alpn() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
The application protocol of the session, which 0-RTT data is sent for.
alpn() - Method in enum class org.microproxy.frames.FrameProtocol
The protocol's ALPN token, h2 or h3.
alpn() - Method in interface org.microproxy.quic.QuicContext
The ALPN protocol negotiated with both sides: the one the server chose of those the client offered.
alpn() - Method in class org.microproxy.quic.QuicMessage
Returns the connection's ALPN protocol, or null.
alpn() - Method in interface org.microproxy.tcp.TcpContext
The ALPN protocol negotiated with the client, when the proxy terminated its TLS ( imap, mqtt, ...).
alpnProtocols() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns the value of the alpnProtocols record component.
alpnProtocols() - Method in record class org.microproxy.ClientHello
Returns the value of the alpnProtocols record component.
alpnProtocols(String...) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The application protocols (ALPN).
alpnSelector(Function<ClientHelloInfo, String>) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: picks the application protocol from the client's offer, instead of the preference list.
altSvc() - Method in class org.microproxy.Http3Options
Returns whether a reverse proxy serving HTTP/3 advertises it with Alt-Svc on its TCP responses.
altSvc(boolean) - Method in class org.microproxy.Http3Options.Builder
Whether a reverse proxy serving HTTP/3 adds Alt-Svc: h3=":<port>" to the responses it sends over TCP (default on), so that clients find its HTTP/3 listener.
altSvcMaxAge() - Method in class org.microproxy.Http3Options
Returns the max-age (ma) of the proxy's own Alt-Svc advertisement.
altSvcMaxAge(Duration) - Method in class org.microproxy.Http3Options.Builder
How long clients may remember the proxy's HTTP/3 advertisement (the ma parameter, default 24 hours).
alwaysOff() - Static method in interface org.microproxy.otel.Sampler
Returns a sampler that samples nothing.
alwaysOn() - Static method in interface org.microproxy.otel.Sampler
Returns a sampler that samples everything.
and(EarlyDataPolicy) - Method in interface io.github.mahmoudimus.quic.tls.EarlyDataPolicy
A policy that accepts only what both this one and another accept.
and(AccessLogFilter) - Method in interface org.microproxy.extras.AccessLogFilter
Both this filter and other.
answers() - Method in class org.microproxy.dns.DnsMessage
Returns the answer section.
antiAmplificationBlocked(long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Whether a server must not send yet: until the peer's address is validated it may send at most three times what it received (RFC 9000 section 8.1).
antiAmplificationBudget() - Method in class io.github.mahmoudimus.quic.connection.Recovery
How many more bytes the anti-amplification limit lets this endpoint send.
AntiCache - Class in org.microproxy.extras
Removes the request headers that let a server answer 304 Not Modified ( If-None-Match and If-Modified-Since), as mitmproxy's anticache, so that clients get whole responses, which other addons and recorders can then see.
antiReplay() - Static method in interface io.github.mahmoudimus.quic.tls.EarlyDataPolicy
The default anti-replay policy: a ticket age window of 10 seconds and a single-use record of up to 100000 tickets.
antiReplay(Duration, int) - Static method in interface io.github.mahmoudimus.quic.tls.EarlyDataPolicy
An anti-replay policy.
anyOf(AccessLogFilter...) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes what any of filters passes.
APPLICATION_CLOSE - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
CONNECTION_CLOSE for application errors (0x1d).
APPLICATION_CLOSED - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
The peer's application closed the connection (CONNECTION_CLOSE 0x1d).
APPLICATION_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The application asked for the connection to close.
ApplicationClose(long, ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
An application CONNECTION_CLOSE frame.
appLimited() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns the value of the appLimited record component.
apply(Frame.Settings) - Method in record class io.github.mahmoudimus.http2.Http2Settings
These settings updated by a peer's SETTINGS frame, values processed in order and unknown identifiers ignored.
applyPeerSettings(Http3Settings) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Applies the QPACK settings and MAX_FIELD_SECTION_SIZE from the peer's SETTINGS.
asDouble() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
Returns the bits as a double.
asFloat() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
Returns the bits as a float.
Assembler - Class in io.github.mahmoudimus.quic.connection
Reassembles STREAM or CRYPTO frame data that arrives out of order, duplicated or overlapping, into the stream's bytes (RFC 9000 section 2.2).
Assembler() - Constructor for class io.github.mahmoudimus.quic.connection.Assembler
An empty, ordered assembler.
attemptEnded(int, String) - Method in interface org.microproxy.FlowTrace
The current attempt is over.
attemptStarted(String, ChainedProxy, boolean) - Method in interface org.microproxy.FlowTrace
An attempt to reach the server begins: a connection to it or to a chained proxy, or a request on a connection at hand.
authenticate(String, String) - Method in interface org.microproxy.ProxyAuthenticator
Validates Basic credentials (for the default ProxyAuthenticator.authenticate(HttpRequest, FlowContext)).
authenticate(String, String) - Method in class org.microproxy.starlark.ScriptedProxy
Not used: ScriptedProxy.authenticate(HttpRequest, FlowContext) asks the script instead.
authenticate(HttpRequest, FlowContext) - Method in interface org.microproxy.ProxyAuthenticator
Decides whether request may proceed, and as which user.
authenticate(HttpRequest, FlowContext) - Method in class org.microproxy.starlark.ScriptedProxy
Calls the script's authenticate(req, ctx).
authenticateConnectionIds(boolean, ConnectionId, ConnectionId, ConnectionId) - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Authenticates the connection IDs of the handshake (RFC 9000 section 7.3): both endpoints must send initial_source_connection_id matching the Source Connection ID of their first Initial; a server must send original_destination_connection_id, and retry_source_connection_id if and only if it sent a Retry.
authenticateEveryRequest() - Method in interface org.microproxy.ProxyAuthenticator
Whether to authenticate every request rather than the first one accepted on each client connection, e.g. because tokens expire.
authenticateEveryRequest() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script sets AUTHENTICATE_EVERY_REQUEST to a true value.
authorities() - Method in class org.microproxy.dns.DnsMessage
Returns the authority section.
authority() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the authority record component.
authority() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the authority record component.
AuthResult - Interface in org.microproxy
What a ProxyAuthenticator decided about a request.
AuthResult.Accepted - Record Class in org.microproxy
The client may use the proxy.
AuthResult.Rejected - Record Class in org.microproxy
The client may not use the proxy.
AUTO - Static variable in class org.microproxy.contentviews.ContentViews
The name that picks the best view for each body.
available() - Method in class io.github.mahmoudimus.http2.FlowControlWindow
How much may be sent now: the size, or 0 if it is negative.
available() - Method in class io.github.mahmoudimus.zstd.ZstdInputStream
 
available() - Static method in class org.microproxy.frames.Http3FramePipeline
Whether the optional http3-codec module is on the class path, so that a pipeline can be built.
Available(Dir) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamEvent.Available
Creates an instance of a Available record class.
availableVersions() - Method in record class io.github.mahmoudimus.quic.params.VersionInformation
Returns the value of the availableVersions record component.
awaitClosed(Duration) - Method in class io.github.mahmoudimus.quic.QuicConnection
Waits until the connection has ended, for any reason.
awaitHandshake(Duration) - Method in class io.github.mahmoudimus.quic.QuicConnection
Waits for the handshake to complete: for a connection from QuicClient.connectEarly(java.net.InetSocketAddress, java.lang.String, java.time.Duration) or one a server accepted with 0-RTT data.
awaitStopped() - Method in class io.github.mahmoudimus.quic.QuicStream
Waits until the peer asks this side to stop sending (STOP_SENDING), which otherwise shows only when a write fails: for a relay that passes the request on while it is not writing.

B

B3 - Static variable in class org.microproxy.otel.Propagators
B3 in one header: b3: {trace-id}-{span-id}-{sampled}.
B3_MULTI - Static variable in class org.microproxy.otel.Propagators
B3 in several headers: X-B3-TraceId, X-B3-SpanId, X-B3-Sampled.
BAD_CERTIFICATE - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A certificate was corrupt or failed a check such as its name (42).
BAD_CERTIFICATE_STATUS_RESPONSE - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
An OCSP response was invalid (113).
BAD_GATEWAY - Static variable in record class org.microproxy.http.HttpResponseStatus
 
BAD_RECORD_MAC - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A record failed to decrypt; not used by QUIC (20).
BAD_REQUEST - Static variable in record class org.microproxy.http.HttpResponseStatus
 
BadRequest(String) - Constructor for record class org.microproxy.ProxyFailure.BadRequest
Creates an instance of a BadRequest record class.
BadServerResponse(String, IOException) - Constructor for record class org.microproxy.ProxyFailure.BadServerResponse
Creates an instance of a BadServerResponse record class.
bandwidthEstimate() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
The bottleneck bandwidth estimate: the largest delivery rate sampled, not application limited, over the last ten round trips.
bandwidthEstimate() - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Returns the value of the bandwidthEstimate record component.
BASE_DATAGRAM_SIZE - Static variable in interface io.github.mahmoudimus.quic.congestion.Controller
The datagram size the initial windows are computed from (RFC 9002 section 7.2).
BASIC - Enum constant in enum class org.microproxy.extras.HttpLogger.Level
The request line, the status line, timings and the body sizes from the heads.
Bbr - Class in io.github.mahmoudimus.quic.congestion
A BBR congestion controller, experimental as in quinn: it models the path's bottleneck bandwidth and minimum RTT instead of reacting to loss, aiming at less buffer bloat and better throughput on paths with a high bandwidth-delay product. quinn's port, which this follows, is based on a BBRv1 sender (bbr_sender.cc) and draft-cardwell-iccrg-bbr-congestion-control.
Bbr(BbrConfig, long, int) - Constructor for class io.github.mahmoudimus.quic.congestion.Bbr
A controller in STARTUP.
Bbr(BbrConfig, long, int, RandomGenerator.SplittableGenerator) - Constructor for class io.github.mahmoudimus.quic.congestion.Bbr
A controller in STARTUP with a chosen source of randomness, for reproducible runs.
BBR - Enum constant in enum class io.github.mahmoudimus.quic.connection.TransportConfig.CongestionControl
BBR, quinn's experimental BBRv1-style controller.
BBR - Enum constant in enum class org.microproxy.Http3Options.QuicCongestionControl
BBR, experimental: models the bottleneck bandwidth and RTT rather than reacting to loss.
Bbr.Mode - Enum Class in io.github.mahmoudimus.quic.congestion
BBR's modes.
BbrConfig - Record Class in io.github.mahmoudimus.quic.congestion
Configuration of the Bbr controller.
BbrConfig(long) - Constructor for record class io.github.mahmoudimus.quic.congestion.BbrConfig
A configuration.
beforeResponding(UnaryOperator<HttpResponse>) - Method in class org.microproxy.HttpFiltersBuilder
The response head just before it goes to the client (proxyToClientResponse).
beforeSending(Function<HttpRequest, HttpResponse>) - Method in class org.microproxy.HttpFiltersBuilder
The request head just before it goes to the server (proxyToServerRequest), with the proxy's own header changes applied.
begin(PacketHeader.Numbered, DirectionalKeys) - Method in class io.github.mahmoudimus.quic.packet.PacketBuilder
Starts a packet after any already finished in this datagram.
BI - Enum constant in enum class io.github.mahmoudimus.quic.connection.Dir
Bidirectional: data flows both ways.
bidirectional() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
Returns the value of the bidirectional record component.
bidirectional() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
Returns the value of the bidirectional record component.
bidirectional() - Method in interface org.microproxy.quic.QuicStreamContext
Whether the stream is bidirectional; a unidirectional stream carries data only from the side that opened it.
binary(byte[]) - Static method in class org.microproxy.http.WebSocketFrame
A final binary frame.
binary(byte[], boolean) - Static method in record class org.microproxy.http.WebSocketMessage
A binary message.
BINARY - Enum constant in enum class org.microproxy.http.WebSocketMessage.Type
A binary message (WebSocketFrame.OPCODE_BINARY).
bind(InetSocketAddress, ServerConfig) - Static method in class io.github.mahmoudimus.quic.QuicServer
Binds a server with the default endpoint settings.
bind(InetSocketAddress, ServerConfig, EndpointConfig) - Static method in class io.github.mahmoudimus.quic.QuicServer
Binds a server.
bind(InetSocketAddress, ServerConfig, EndpointConfig, QuicServer.DatagramFilter) - Static method in class io.github.mahmoudimus.quic.QuicServer
Binds a server whose filter sees the datagrams no connection claims first.
bits() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
Returns the value of the bits record component.
bits() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
Returns the value of the bits record component.
blackHoleCooldown() - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Returns the value of the blackHoleCooldown record component.
blackHoleDetected(long) - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Ends the current loss burst and checks for a black hole.
blackHolesDetected() - Method in class io.github.mahmoudimus.quic.connection.Recovery
MTU black holes detected.
block() - Method in record class org.microproxy.warc.WarcReader.Record
Returns the value of the block record component.
BLOCKED - Enum constant in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
No progress is possible now: a write is limited by flow control or the send window, or a read found no data.
blockedStreams() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The number of streams with a blocked field section.
blockedStreams() - Method in class io.github.mahmoudimus.http3.QpackEncoder
The number of streams with a section that the peer cannot decode until it receives more inserts.
BlockList - Class in org.microproxy.extras
Blocks requests, as mitmproxy's block_list: the first rule whose filter matches answers the request with an empty response of its status, without contacting the server.
BlockList.Builder - Class in org.microproxy.extras
Builds BlockList.
BlockList.Rule - Record Class in org.microproxy.extras
One rule: requests the filter matches get an empty response with status, or none.
blockSize() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Returns the underlying digest algorithm block size.
blockSize() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Returns the underlying digest algorithm block size.
BloomTokenLog - Class in io.github.mahmoudimus.quic.token
A TokenLog of bounded memory.
BloomTokenLog() - Constructor for class io.github.mahmoudimus.quic.token.BloomTokenLog
A log with the default budget and expected use.
BloomTokenLog(int, int) - Constructor for class io.github.mahmoudimus.quic.token.BloomTokenLog
A log with a memory budget and a number of hash functions.
body() - Method in class org.microproxy.cache.CachedResponse
Returns a copy of the body.
BODY - Enum constant in enum class org.microproxy.extras.HttpLogger.Level
Also the bodies, up to HttpLogger.Builder.maxBodyBytes each.
BOOL - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
bool: varint.
bootstrap() - Static method in class org.microproxy.MicroProxy
Starts a proxy configuration with default settings.
bootstrapFromFile(Path) - Static method in class org.microproxy.MicroProxy
A bootstrap configured from a properties file (see the configuration properties for keys).
borrowCount() - Method in record class org.microproxy.PoolMetrics
Returns the value of the borrowCount record component.
bounds() - Method in class org.microproxy.stats.Histogram.Snapshot
Returns a copy of the buckets' upper bounds, ascending, without +Inf.
BROTLI_QUALITY - Static variable in class org.microproxy.http.HttpBodies
The Brotli quality (0 to 11) that HttpBodies.encode(java.lang.String, byte[]) and rewritten br bodies use, with jaybrotli's default strategies: on HTML and JSON of 10 KB to 1 MB it runs at about 10 to 35 MB/s, and its output is mostly 1 to 14% smaller than gzip's default level (at worst 2% larger).
bucketCount(int) - Method in class org.microproxy.stats.Histogram.Snapshot
The count of bucket i alone.
buckets() - Method in class org.microproxy.stats.Histogram.Snapshot
Returns how many buckets there are, the +Inf one included.
budget() - Method in class org.microproxy.RetryBackoff
The budget set with RetryBackoff.withBudget(Duration): the most all waits of one request may add up to.
buffered() - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
The bytes still held from application writes, including acknowledged bytes that cannot be released yet.
bufferRequests(int) - Method in class org.microproxy.HttpFiltersBuilder
Buffer request bodies up to maxBytes, so HttpFiltersBuilder.onRequest gets the whole request.
bufferResponses(int) - Method in class org.microproxy.HttpFiltersBuilder
Buffer response bodies up to maxBytes, so HttpFiltersBuilder.onResponse gets the whole response.
build() - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Creates immutable settings, checking their protocol ranges.
build() - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Builds the settings.
build() - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
Builds the configuration.
build() - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
Builds the configuration.
build() - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Builds the configuration.
build() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
Builds the configuration.
build() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Builds the configuration.
build() - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Builds the parameters.
build() - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Builds the configuration.
build() - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor.Builder
Creates an immutable decompressor with the current settings.
build() - Method in class org.microproxy.cache.HttpCache.Builder
Creates the configured HTTP cache.
build() - Method in class org.microproxy.dns.DnssecHostResolver.Builder
Creates the configured validating DNS resolver.
build() - Method in class org.microproxy.extras.ActivityLogger.Builder
Returns the logger.
build() - Method in class org.microproxy.extras.BlockList.Builder
Creates the addon.
build() - Method in class org.microproxy.extras.ClientReplay.Builder
Creates the replayer.
build() - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Creates the configured concurrency limiter.
build() - Method in class org.microproxy.extras.HarRecorder.Builder
Creates the recorder; a streaming one creates its file now.
build() - Method in class org.microproxy.extras.HttpLogger.Builder
Creates the configured HTTP exchange logger.
build() - Method in class org.microproxy.extras.MapLocal.Builder
Creates the addon.
build() - Method in class org.microproxy.extras.MapRemote.Builder
Creates the addon.
build() - Method in class org.microproxy.extras.ModifyBody.Builder
Creates the addon.
build() - Method in class org.microproxy.extras.RewriteRules.Builder
Creates the configured response rewrite rules.
build() - Method in class org.microproxy.extras.ServerReplay.Builder
Creates the addon.
build() - Method in class org.microproxy.FlowRecord.Builder
Returns the record.
build() - Method in class org.microproxy.frames.Http3FramePipeline.Builder
Builds the pipeline.
build() - Method in class org.microproxy.Http2Options.Builder
Creates the configured HTTP/2 limits.
build() - Method in class org.microproxy.Http3Options.Builder
Creates the configured HTTP/3 options.
build() - Method in class org.microproxy.HttpFiltersBuilder
Creates a filter source combining the configured hooks.
build() - Method in class org.microproxy.otel.Telemetry.Builder
Returns the telemetry; its exporters' threads start now.
build() - Method in class org.microproxy.ProtocolPolicy.Builder
The policy set so far.
build() - Method in class org.microproxy.starlark.ScriptedProxy.Builder
Compiles the script and runs its top level.
build() - Method in class org.microproxy.stats.StatsdSink.Builder
Opens the socket.
build() - Method in class org.microproxy.stats.StatsRegistry.Builder
Returns a new registry with these settings.
build() - Method in class org.microproxy.warc.WarcRecorder.Builder
Creates the configured WARC recorder.
build(long, int) - Method in record class io.github.mahmoudimus.quic.congestion.BbrConfig
 
build(long, int) - Method in interface io.github.mahmoudimus.quic.congestion.ControllerFactory
A new controller.
build(long, int) - Method in record class io.github.mahmoudimus.quic.congestion.CubicConfig
 
build(long, int) - Method in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
 
builder() - Static method in record class io.github.mahmoudimus.http2.Http2Settings
Starts a settings builder with the protocol defaults.
builder() - Static method in record class io.github.mahmoudimus.http3.Http3Settings
A builder starting from the defaults.
builder() - Static method in class io.github.mahmoudimus.quic.connection.EndpointConfig
A builder starting from the defaults.
builder() - Static method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
A builder with the defaults.
builder() - Static method in class io.github.mahmoudimus.quic.connection.TransportConfig
A builder starting from the defaults.
builder() - Static method in record class io.github.mahmoudimus.quic.params.TransportParameters
A builder starting from the defaults.
builder() - Static method in class io.github.mahmoudimus.quic.tls.TlsConfig
Starts a configuration with the defaults.
builder() - Static method in class io.github.mahmoudimus.zstd.ZstdDecompressor
Creates a builder initialized with the default settings.
builder() - Static method in class org.microproxy.cache.HttpCache
Starts a builder with the default settings.
builder() - Static method in class org.microproxy.dns.DnssecHostResolver
Starts a builder with the default settings.
builder() - Static method in class org.microproxy.extras.ActivityLogger
Returns a builder of an access logger.
builder() - Static method in class org.microproxy.extras.BlockList
Starts a builder with no rules.
builder() - Static method in class org.microproxy.extras.ConcurrencyLimiter
Starts a builder with the default settings.
builder() - Static method in class org.microproxy.extras.HttpLogger
Starts a logger at HttpLogger.Level.HEADERS, writing HttpLogger.Format.TEXT with the default redaction.
builder() - Static method in class org.microproxy.extras.MapLocal
Starts a builder with no rules.
builder() - Static method in class org.microproxy.extras.MapRemote
Starts a builder with no rules.
builder() - Static method in class org.microproxy.extras.ModifyBody
Starts a builder with no rules.
builder() - Static method in class org.microproxy.extras.RewriteRules
Starts a builder with the default settings.
builder() - Static method in class org.microproxy.extras.ServerReplay
Starts a builder with no recordings and mitmproxy's defaults.
builder() - Static method in class org.microproxy.Http2Options
Starts a builder with the default settings.
builder() - Static method in class org.microproxy.Http3Options
Starts a builder with the default settings.
builder() - Static method in interface org.microproxy.HttpFilters
Starts filters made from lambdas, one per hook (see HttpFiltersBuilder).
builder() - Static method in class org.microproxy.otel.Telemetry
Returns a builder with the defaults: everything exported to http://localhost:4318.
builder() - Static method in class org.microproxy.ProtocolPolicy
A builder for a policy for all protocols, HTTP/2 or HTTP/3; HTTP/1's is an Http1PolicyBuilder.
builder() - Static method in class org.microproxy.stats.StatsRegistry
Returns a builder with the default settings.
builder(TlsConfig) - Static method in class io.github.mahmoudimus.quic.connection.ClientConfig
A builder.
builder(TlsConfig) - Static method in class io.github.mahmoudimus.quic.connection.ServerConfig
A builder.
builder(String, String) - Static method in class org.microproxy.starlark.ScriptedProxy
A proxy driven by source, for embedding and tests.
builder(InetSocketAddress) - Static method in class org.microproxy.extras.ClientReplay
Starts a builder for replaying through the proxy listening at proxy.
builder(Path) - Static method in class org.microproxy.extras.HarRecorder
Starts a builder for a recorder that writes path.
builder(Path) - Static method in class org.microproxy.starlark.ScriptedProxy
A proxy driven by the script in file.
builder(Path) - Static method in class org.microproxy.warc.WarcRecorder
Starts a builder with the default settings.
builder(FlowContext, FlowRecord.Kind) - Static method in class org.microproxy.FlowRecord
Starts a record of an exchange or flow on context.
builder(FrameInterceptor) - Static method in class org.microproxy.frames.Http3FramePipeline
Starts a pipeline that shows frames to interceptor.
builder(StatsRegistry, String) - Static method in class org.microproxy.stats.StatsdSink
Starts a sink of registry's metrics to the statsd server at host:port.
builder(StatsRegistry, InetSocketAddress) - Static method in class org.microproxy.stats.StatsdSink
Starts a sink of registry's metrics to the statsd server at target.
byClientIp() - Static method in class org.microproxy.extras.ConcurrencyLimiter
Keys requests by the client's IP address (the default).
byTargetHost() - Static method in class org.microproxy.extras.ConcurrencyLimiter
Keys requests by the host they go to, lower-cased and without the port: the CONNECT target, the absolute URI's host, or the Host header (inside intercepted sessions).
bytes() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
Returns the value of the bytes record component.
bytes() - Method in record class io.github.mahmoudimus.quic.connection.StreamsState.Written
Returns the value of the bytes record component.
bytes() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
A view of the whole packet, header protection included or removed as it stands.
bytes() - Method in record class org.microproxy.dns.DnsMessage.Opaque
Returns the value of the bytes record component.
bytes(long, long) - Method in class org.microproxy.FlowRecord.Builder
Sets the bytes exchanged with the client.
Bytes(byte[]) - Constructor for record class org.microproxy.contentviews.ProtoValue.Bytes
Wraps data.
BYTES - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
bytes: length-delimited.
bytesInFlight() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Bytes in flight.
bytesInFlight() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the bytesInFlight record component.
bytesRead() - Method in class io.github.mahmoudimus.quic.connection.Assembler
The number of bytes the application has read.
bytesRead() - Method in class io.github.mahmoudimus.quic.connection.Chunks
The number of bytes read so far.
bytesReceived() - Method in class org.microproxy.FlowRecord
Bytes received from the client: the request body for HTTP, the client's payload for a tunnel or a flow.
bytesReceivedFromClient(FlowContext, int) - Method in interface org.microproxy.ActivityTracker
Called after bytes are read from the client.
bytesReceivedFromServer(FullFlowContext, int) - Method in interface org.microproxy.ActivityTracker
Called after bytes are read from the server.
bytesSent() - Method in class org.microproxy.FlowRecord
Bytes sent to the client: the response body for HTTP, the server's payload for a tunnel or a flow.
bytesSentToClient(FlowContext, int) - Method in interface org.microproxy.ActivityTracker
Called after bytes are written to the client.
bytesSentToServer(FullFlowContext, int) - Method in interface org.microproxy.ActivityTracker
Called after bytes are written to the server.
byUser() - Static method in class org.microproxy.extras.ConcurrencyLimiter
Keys requests by the authenticated user (flow.getClientDetails().getUserName()), or by the client's IP address for clients that did not authenticate.

C

CACHE - Enum constant in enum class org.microproxy.ResponseSource
Answered by the HttpCache: a stored response (fresh, revalidated or stale while the server is unreachable), or the cache's own 504 for a request it may not forward (offline mode, only-if-cached).
cachedHostCount() - Method in class org.microproxy.tls.CertificateAuthorityMitmManager
Returns number of hosts with a cached certificate.
CachedResponse - Class in org.microproxy.cache
A stored response: status, header fields and body as received, the request header values its Vary named, and when it was requested and received (for the age calculation of RFC 9111 section 4.2.3).
CachedResponse(String, Map<String, String>, int, String, HttpHeaders, byte[], long, long) - Constructor for class org.microproxy.cache.CachedResponse
Creates a stored response and its freshness metadata.
CacheStore - Interface in org.microproxy.cache
Where HttpCache keeps responses.
call(String, Mutability, Object...) - Method in class org.microproxy.starlark.StarlarkScript
Calls function with args, for no exchange (see StarlarkScript.call(FlowContext, String, Mutability, Object...)).
call(FlowContext, String, Mutability, Object...) - Method in class org.microproxy.starlark.StarlarkScript
Calls function with args for the exchange flow.
calls() - Method in class org.microproxy.ScriptUsage
Returns the number of calls into scripts.
CANCEL - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The stream is no longer needed.
CANCEL_PUSH - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
CANCEL_PUSH (§7.2.3).
CancelPush(long) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.CancelPush
Creates CANCEL_PUSH.
CancelPush(long) - Constructor for record class org.microproxy.frames.Http3Frame.CancelPush
Creates CANCEL_PUSH.
cancelStream(long) - Method in class io.github.mahmoudimus.http3.QpackDecoder
Reports that a stream was reset, or that its reading was abandoned, before all its field sections were decoded.
canDecode(HttpMessage) - Static method in class org.microproxy.http.HttpBodies
Whether every content coding of message can be decoded.
candidateMaxAckDelay(long, long, long) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
The max_ack_delay to ask the peer for: the configured one or the peer's own, at most the RTT (but not below 25 ms) and at least the peer's min_ack_delay.
canSend() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Whether an ACK must be sent, even in a packet of its own.
canSend(StreamsState) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Whether anything can be sent in this space.
canSendDataBlocked() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Whether a queued DATA_BLOCKED is still accurate.
canSendFlowControl(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Whether a MAX_STREAM_DATA for a stream would still be useful.
canSendStreamData() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Whether any stream has data to send, ignoring control frames.
canSendWithOtherFrames() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Whether an ACK can ride along in a packet sent for other reasons.
cause() - Method in record class org.microproxy.ProxyFailure.BadServerResponse
Returns the value of the cause record component.
cause() - Method in record class org.microproxy.ProxyFailure.ConnectFailed
Returns the value of the cause record component.
cause() - Method in record class org.microproxy.ProxyFailure.ServerTimeout
Returns the value of the cause record component.
cause() - Method in record class org.microproxy.ProxyFailure.TlsFailed
Returns the value of the cause record component.
cause() - Method in record class org.microproxy.ProxyFailure.UnresolvedHost
Returns the value of the cause record component.
ce() - Method in record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
Returns the value of the ce record component.
ceiling(int) - Method in class org.microproxy.RetryBackoff
The longest wait before the attempt that follows failedAttempts failed ones: min(max, initial x 2^(failedAttempts-1)).
certificate(CertifiedKey) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: one certificate for every connection.
certificate(List<X509Certificate>, PrivateKey) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: one certificate for every connection.
CERTIFICATE_EXPIRED - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The certificate (or one in its chain) has expired.
CERTIFICATE_EXPIRED - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A certificate has expired or is not yet valid (45).
CERTIFICATE_NOT_YET_VALID - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The certificate (or one in its chain) is not valid yet.
CERTIFICATE_REQUIRED - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
The server required a client certificate and none was sent (116).
CERTIFICATE_REVOKED - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The certificate was revoked: a CRL or an OCSP response said so.
CERTIFICATE_REVOKED - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A certificate was revoked (44).
CERTIFICATE_UNKNOWN - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
Some other problem with a certificate made it unacceptable (46).
CERTIFICATE_UNTRUSTED - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The chain does not lead to a trusted anchor, or failed another validation check.
certificateAuthority(boolean) - Method in class org.microproxy.tls.CertificateBuilder
Sets whether the certificate may issue other certificates.
CertificateAuthority - Class in org.microproxy.tls
A certificate authority that issues server certificates on the fly.
CertificateAuthority(PrivateKey, X509Certificate) - Constructor for class org.microproxy.tls.CertificateAuthority
Uses an existing CA private key and certificate.
CertificateAuthorityMitmManager - Class in org.microproxy.tls
A MitmManager that impersonates servers with certificates issued on demand by a CertificateAuthority.
CertificateAuthorityMitmManager(CertificateAuthority) - Constructor for class org.microproxy.tls.CertificateAuthorityMitmManager
Intercepts with authority, validating real servers against the JDK trust store.
CertificateAuthorityMitmManager(CertificateAuthority, SSLContext) - Constructor for class org.microproxy.tls.CertificateAuthorityMitmManager
Creates an interception manager using this CA and upstream TLS context.
CertificateAuthorityMitmManager(CertificateAuthority, SSLContext, int) - Constructor for class org.microproxy.tls.CertificateAuthorityMitmManager
Creates an interception manager using this CA and upstream TLS context.
CertificateBuilder - Class in org.microproxy.tls
Builds and signs X.509 v3 certificates with nothing but the JDK, which has no public certificate-generation API.
CertificateBuilder() - Constructor for class org.microproxy.tls.CertificateBuilder
Starts a self-signed server certificate with the default subject and validity.
certificateSelector(Function<ClientHelloInfo, CertifiedKey>) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: picks the certificate for each ClientHello, typically by its server name.
CertifiedKey - Record Class in io.github.mahmoudimus.quic.tls
A certificate chain, end-entity certificate first, and the private key for that certificate: what a server, or a client asked for a certificate, presents and signs with.
CertifiedKey(List<X509Certificate>, PrivateKey) - Constructor for record class io.github.mahmoudimus.quic.tls.CertifiedKey
Validates and copies the chain.
CHACHA20_POLY1305_CONFIDENTIALITY_LIMIT - Static variable in class io.github.mahmoudimus.quic.crypto.PacketKey
The ChaCha20-Poly1305 confidentiality limit.
CHACHA20_POLY1305_INTEGRITY_LIMIT - Static variable in class io.github.mahmoudimus.quic.crypto.PacketKey
The ChaCha20-Poly1305 integrity limit (RFC 9001 section 6.6).
chain() - Method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
Returns the value of the chain record component.
chain() - Method in record class org.microproxy.KeyMaterial
Returns the value of the chain record component.
ChainedProxy - Interface in org.microproxy
An upstream proxy that requests are forwarded through.
ChainedProxyAdapter - Class in org.microproxy
Base ChainedProxy implementation.
ChainedProxyAdapter() - Constructor for class org.microproxy.ChainedProxyAdapter
Creates an adapter using the default HTTP upstream proxy behavior.
ChainedProxyManager - Interface in org.microproxy
Chooses upstream proxies for each request.
chainedProxyRetryBackoff() - Method in interface org.microproxy.HttpFilters
The backoff between this request's connection attempts when a chained proxy (or the direct fallback) fails and the next route the ChainedProxyManager offered is tried, instead of the server's (HttpProxyServerBootstrap.withChainedProxyRetryBackoff(RetryBackoff)).
chainedProxyRetryBackoff() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
chainedProxyRetryBackoff() - Method in class org.microproxy.HttpFiltersChain.Chained
 
ChainedProxyType - Enum Class in org.microproxy
The protocol spoken to an upstream (chained) proxy.
challenge() - Method in record class org.microproxy.AuthResult.Rejected
Returns the value of the challenge record component.
changedValues() - Method in record class io.github.mahmoudimus.http2.Http2Settings
The values that differ from the protocol's initial ones, in identifier order: what a SETTINGS frame must carry to establish these settings on a new connection.
charset(HttpMessage, Charset) - Static method in class org.microproxy.http.HttpBodies
The charset parameter of Content-Type, or fallback when absent, unknown or malformed.
checkAck(SpaceId, long, long) - Method in class io.github.mahmoudimus.quic.connection.PacketNumberFilter
Rejects an ACK of the skipped packet number.
checkAndInsert(byte[], Instant, Duration) - Method in class io.github.mahmoudimus.quic.token.BloomTokenLog
 
checkAndInsert(byte[], Instant, Duration) - Method in interface io.github.mahmoudimus.quic.token.TokenLog
Records that a token was used.
checkClientTrusted(X509Certificate[], String) - Method in class org.microproxy.tls.TrustingTrustManager
 
checkClientTrusted(X509Certificate[], String, Socket) - Method in class org.microproxy.tls.TrustingTrustManager
 
checkClientTrusted(X509Certificate[], String, SSLEngine) - Method in class org.microproxy.tls.TrustingTrustManager
 
checkContentLength(int, long, long, boolean) - Static method in class io.github.mahmoudimus.http2.Http2Headers
Checks DATA received against a declared content-length (§8.1.1).
checkContentLength(long, long, long, boolean) - Static method in class io.github.mahmoudimus.http3.Http3Headers
Checks DATA received against a declared content-length (RFC 9114 §4.1.2).
checkServerTrusted(X509Certificate[], String) - Method in class org.microproxy.tls.TrustingTrustManager
 
checkServerTrusted(X509Certificate[], String, Socket) - Method in class org.microproxy.tls.TrustingTrustManager
 
checkServerTrusted(X509Certificate[], String, SSLEngine) - Method in class org.microproxy.tls.TrustingTrustManager
 
choice(Sequence<?>) - Method in class org.microproxy.starlark.stdlib.RandomModule
Selects an element uniformly from a non-empty sequence.
chosenVersion() - Method in record class io.github.mahmoudimus.quic.params.VersionInformation
Returns the value of the chosenVersion record component.
Chunk - Record Class in io.github.mahmoudimus.quic.connection
A run of received stream or CRYPTO data and its offset in the stream.
Chunk(long, ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.connection.Chunk
A chunk.
chunks() - Method in record class io.github.mahmoudimus.quic.connection.StreamsState.Written
Returns the value of the chunks record component.
Chunks - Class in io.github.mahmoudimus.quic.connection
cid() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidIssued
Returns the value of the cid record component.
cid() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidRetired
Returns the value of the cid record component.
cidGenerator(ConnectionIdGenerator) - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
The local connection ID generator.
CidInsertException(RemoteCidQueue.InsertError) - Constructor for exception class io.github.mahmoudimus.quic.connection.RemoteCidQueue.CidInsertException
An exception.
CidIssued(ConnectionId) - Constructor for record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidIssued
Creates an instance of a CidIssued record class.
cidLength() - Method in interface io.github.mahmoudimus.quic.connection.ConnectionIdGenerator
The length of the IDs, which the endpoint needs to parse short headers.
cidLength() - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig
The length of local connection IDs; short header packets are parsed with it.
cidLength() - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
The length of the IDs, to parse short headers.
cidLength() - Method in class io.github.mahmoudimus.quic.connection.RandomConnectionIdGenerator
 
cidLength(int) - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
Random local connection IDs of a length.
cidLifetime() - Method in interface io.github.mahmoudimus.quic.connection.ConnectionIdGenerator
How long an ID lives before it is retired and replaced.
cidLifetime() - Method in class io.github.mahmoudimus.quic.connection.RandomConnectionIdGenerator
 
CidRetired(ConnectionId) - Constructor for record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidRetired
Creates an instance of a CidRetired record class.
cipherSuite() - Method in class io.github.mahmoudimus.quic.QuicConnection
The negotiated cipher suite.
cipherSuite() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
The cipher suite of the session; a resumption must use one with the same hash, and 0-RTT this very suite.
cipherSuite() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The negotiated cipher suite.
CipherSuite - Enum Class in io.github.mahmoudimus.quic
The TLS 1.3 cipher suites QUIC can use (RFC 9001 section 5.3), with what packet protection needs to know about each: its HKDF hash, AEAD and key length.
cipherSuites() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns the value of the cipherSuites record component.
cipherSuites() - Method in record class org.microproxy.ClientHello
Returns the value of the cipherSuites record component.
cipherSuites(CipherSuite...) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The cipher suites to offer (client) or accept (server), most preferred first.
clear() - Method in class io.github.mahmoudimus.quic.connection.Assembler
Discards all buffered data, keeping the read offset.
clear() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Removes every value.
clear() - Method in class io.github.mahmoudimus.quic.connection.SentPackets
Removes every packet.
clear() - Method in class org.microproxy.http.HttpHeaders
Removes all fields.
CLF - Enum constant in enum class org.microproxy.extras.LogFormat
NCSA Common Log Format: host ident authuser [date] "request" status bytes, as %DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT% - %MP_USER% [%START_TIME(%d/%b/%Y:%H:%M:%S %z)%] "%REQ(:METHOD)% %MP_URL% %PROTOCOL%" %RESPONSE_CODE% %BYTES_SENT%.
client() - Method in record class io.github.mahmoudimus.quic.Secrets
Returns the value of the client record component.
client(TlsConfig, byte[]) - Static method in class io.github.mahmoudimus.quic.tls.TlsSession
Starts a client handshake to the configuration's server name.
client(TlsConfig, String, byte[]) - Static method in class io.github.mahmoudimus.quic.tls.TlsSession
Starts a client handshake to a server name.
client(TlsConfig, String, byte[], SessionTicket) - Static method in class io.github.mahmoudimus.quic.tls.TlsSession
Starts a client handshake that offers to resume a session.
CLIENT - Enum constant in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Role
The client, which opens request streams.
CLIENT - Enum constant in enum class io.github.mahmoudimus.quic.connection.Side
The endpoint that initiated the connection.
CLIENT_PREFACE - Static variable in class io.github.mahmoudimus.http2.FrameReader
The client connection preface (RFC 9113 §3.4).
clientAddress() - Method in interface org.microproxy.frames.FrameContext
The client's address, or null when the frame belongs to no single client.
clientAddress() - Method in interface org.microproxy.quic.QuicContext
The client's address: the redirected client's, or the client of the CONNECT-UDP flow the QUIC came in.
clientAddress() - Method in interface org.microproxy.tcp.TcpContext
The client's address (the PROXY protocol's source, when the listener accepts it).
clientAddress() - Method in interface org.microproxy.udp.UdpContext
The client's address.
clientAddress(InetSocketAddress) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
The client address the interceptor is told; default none.
clientAuth(ClientAuth) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: whether to ask the client for a certificate.
ClientAuth - Enum Class in io.github.mahmoudimus.quic.tls
Whether a server asks clients for a certificate (RFC 8446 section 4.3.2).
clientCertificate(CertifiedKey) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Client: the certificate to present if the server asks for one.
ClientConfig - Class in io.github.mahmoudimus.quic.connection
How a client connects: its TLS configuration (trust, server name, ALPN, 0-RTT), the transport settings, the QUIC version and the SessionCache that keeps session tickets and NEW_TOKEN tokens between connections.
ClientConfig.Builder - Class in io.github.mahmoudimus.quic.connection
Builds a ClientConfig.
clientConnected(FlowContext) - Method in interface org.microproxy.ActivityTracker
Called when the proxy accepts a client connection.
clientContext() - Method in class org.microproxy.tls.CertificateAuthority
Returns a client-side SSLContext that trusts only this CA.
ClientDetails - Class in org.microproxy
What the proxy knows about a client: its address and, once authenticated, its user name.
ClientDetails() - Constructor for class org.microproxy.ClientDetails
Creates client details with no address or authenticated user yet.
clientDisconnected(FlowContext, SSLSession) - Method in interface org.microproxy.ActivityTracker
Called when the client connection closes.
ClientHello - Record Class in org.microproxy
A client's TLS ClientHello, the first message of a handshake, as the proxy read it before deciding whether to intercept a connection: after a CONNECT is accepted, and first thing on a connection to a transparent listener.
ClientHello(String, List<String>, List<Integer>, List<Integer>, List<Integer>, byte[]) - Constructor for record class org.microproxy.ClientHello
Creates a ClientHello, copying the lists and the message bytes.
ClientHelloInfo - Record Class in io.github.mahmoudimus.quic.tls
What a server's certificate and ALPN selectors see of a ClientHello.
ClientHelloInfo(String, List<String>, List<SignatureScheme>, List<CipherSuite>, List<NamedGroup>) - Constructor for record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Copies the lists.
clientInitiated() - Method in interface org.microproxy.quic.QuicStreamContext
Whether the client opened the stream, rather than the server.
clientRandom() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The ClientHello's random value, which names the secrets of this handshake in the SSLKEYLOGFILE format that packet analyzers read.
ClientReplay - Class in org.microproxy.extras
Sends recorded requests again, as mitmproxy's client_replay: each goes to the proxy's own listener as an ordinary client request, so every filter, addon, script, cache and recorder of the proxy applies to it, and the proxy reaches the server (over TLS for https:// URLs).
ClientReplay.Builder - Class in org.microproxy.extras
Configures a ClientReplay.
ClientReplay.Result - Record Class in org.microproxy.extras
What a replay did.
ClientSessionMemoryCache - Class in io.github.mahmoudimus.quic.tls
A bounded, in-memory ClientSessionStore: up to a number of servers, each with up to 8 tickets.
ClientSessionMemoryCache() - Constructor for class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
A cache for 256 servers.
ClientSessionMemoryCache(int) - Constructor for class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
A cache.
ClientSessionStore - Interface in io.github.mahmoudimus.quic.tls
Where a client keeps session tickets between connections, by server.
clientSide() - Method in enum class org.microproxy.frames.FrameDirection
Whether the frame travels between the proxy and the client (FrameDirection.FROM_CLIENT, FrameDirection.TO_CLIENT) rather than a server.
clientSslContextFor(HttpRequest, SSLSession) - Method in interface org.microproxy.MitmManager
TLS configuration presented to the client (proxy is TLS server), typically holding a certificate for the requested host signed by a CA the client trusts.
clientSslContextFor(HttpRequest, SSLSession) - Method in class org.microproxy.tls.CertificateAuthorityMitmManager
 
clientSslContextFor(HttpRequest, SSLSession, FlowContext) - Method in interface org.microproxy.MitmManager
TLS configuration presented to the client connection flow, e.g. with a certificate from that client's CA.
clientSSLHandshakeStarted(FlowContext) - Method in interface org.microproxy.ActivityTracker
Called before the TLS handshake with the client starts.
clientSSLHandshakeSucceeded(FlowContext, SSLSession) - Method in interface org.microproxy.ActivityTracker
Called after the TLS handshake with the client succeeds.
clientStreaming() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the value of the clientStreaming record component.
clientTicketAge() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns the value of the clientTicketAge record component.
clientTlsHandshake() - Method in record class org.microproxy.FlowTimings
How long the TLS handshake with the client took.
clientTlsHandshakeNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the clientTlsHandshakeNanos record component.
clientToProxyRequest(HttpObject) - Method in interface org.microproxy.HttpFilters
Filters requests on their way from the client to the proxy.
clientToProxyRequest(HttpObject) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
clientToProxyRequest(HttpObject) - Method in class org.microproxy.HttpFiltersChain.Chained
 
clientTrustManager(X509TrustManager) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: the trust manager that validates client certificates.
clock(Clock) - Method in class org.microproxy.cache.HttpCache.Builder
The clock for ages and freshness (for tests).
clock(Clock) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
The clock used for signature validity and caching.
clock(InstantSource) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
The wall clock token expiry is checked against.
clock(InstantSource) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The wall clock ticket ages and lifetimes are measured with.
clone() - Method in interface org.microproxy.HttpProxyServer
Returns a bootstrap preconfigured like this server, listening on the next port (or an ephemeral port if this one is ephemeral).
close() - Method in class io.github.mahmoudimus.quic.connection.Chunks
Ends the read and issues flow control credit for what was read: MAX_STREAM_DATA, MAX_DATA and, if the stream was released, MAX_STREAMS, queued as needed.
close() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Stops loss detection for good, as the connection closes.
close() - Method in class io.github.mahmoudimus.quic.QuicClient
Closes every connection (CONNECTION_CLOSE with code 0), stops the threads and the socket.
close() - Method in class io.github.mahmoudimus.quic.QuicConnection
Closes the connection with code 0 and no reason.
close() - Method in class io.github.mahmoudimus.quic.QuicServer
Closes every connection (CONNECTION_CLOSE with code 0), stops the threads and closes the socket.
close() - Method in class io.github.mahmoudimus.quic.QuicStream
Closes both directions: sends the FIN if the output is open, and STOP_SENDING (code 0) if the input was not read to its end.
close() - Method in class io.github.mahmoudimus.zstd.ZstdInputStream
 
close() - Method in class org.microproxy.extras.AccessLogWriter
 
close() - Method in class org.microproxy.extras.HarRecorder
Writes the HAR file (or finishes the streamed one).
close() - Method in interface org.microproxy.FlowTracer
Called once the proxy has stopped, after its exchanges ended: a last chance to flush.
close() - Method in interface org.microproxy.HttpProxyServer
 
close() - Method in class org.microproxy.otel.Telemetry
Exports what is left, then stops the exporters; the proxy calls it once it has stopped.
close() - Method in class org.microproxy.stats.StatsdSink
Stops flushing, after a last flush, and closes the socket.
close() - Method in class org.microproxy.warc.WarcReader
 
close() - Method in class org.microproxy.warc.WarcRecorder
Finishes the current WARC file.
close() - Method in class org.microproxy.warc.WarcWriter
Finishes the current file.
close(int, String) - Static method in class org.microproxy.http.WebSocketFrame
A close frame with a status code (RFC 6455 section 7.4) and a reason.
close(long, long, String) - Method in class io.github.mahmoudimus.quic.connection.Connection
Closes the connection (RFC 9000 section 10.2): sends CONNECTION_CLOSE with an application error code, then waits three PTOs in the closing state before EndpointEvent.Drained.
close(long, String) - Method in class io.github.mahmoudimus.quic.QuicConnection
Closes the connection with an application error code: CONNECTION_CLOSE is sent at once and streams fail.
CLOSE - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
The end of the closing or draining period (RFC 9000 section 10.2): the connection is gone.
closed(QuicConnection, QuicConnection.Stats, ConnectionError, boolean) - Method in interface io.github.mahmoudimus.quic.QuicConnection.Observer
A connection opened has ended, for any reason.
CLOSED_STREAM - Enum constant in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
The stream was never opened, or was already finished, reset, stopped or released.
closeOnStop(AutoCloseable) - Method in interface org.microproxy.HttpProxyServer
Closes resource when the server stops, after its connections have finished (or been closed): for things that outlive single requests, such as a WARC recorder.
closeReason() - Method in class io.github.mahmoudimus.quic.connection.Connection
Why the connection closed.
closeReason() - Method in class io.github.mahmoudimus.quic.QuicConnection
Why the connection ended.
clusterOverflow() - Method in class org.microproxy.stats.StatsRegistry
Returns what happens to clusters beyond StatsRegistry.maxClusters().
clusterOverflow(StatsRegistry.Overflow) - Method in class org.microproxy.stats.StatsRegistry.Builder
What happens to clusters beyond StatsRegistry.Builder.maxClusters (default StatsRegistry.Overflow.OTHER).
CNAME - Static variable in class org.microproxy.dns.DnsMessage
Type CNAME: the canonical name of an alias.
coalesceConnections() - Method in class org.microproxy.Http2Options
Whether an HTTP/2 connection to a server may carry requests for other server names than the one it was made for (connection coalescing, RFC 9113 section 9.1.1).
coalesceConnections(boolean) - Method in class org.microproxy.Http2Options.Builder
Lets the proxy's HTTP/2 connections to servers (HttpProxyServerBootstrap.withHttp2Upstream(boolean)) carry requests for other server names than the one each was made for, as RFC 9113 section 9.1.1 allows (default off).
code() - Method in enum class io.github.mahmoudimus.http2.ErrorCode
The 32-bit value sent on the wire.
code() - Method in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The value sent on the wire, a variable-length integer.
code() - Method in enum class io.github.mahmoudimus.quic.CipherSuite
The suite's TLS code point.
code() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Returns the value of the code record component.
code() - Method in enum class io.github.mahmoudimus.quic.frame.FrameType
The lowest type code of this frame type.
code() - Method in exception class io.github.mahmoudimus.quic.QuicException
The transport error code.
code() - Method in enum class io.github.mahmoudimus.quic.tls.NamedGroup
The group's TLS code point.
code() - Method in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
The scheme's TLS code point.
code() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns the value of the code record component.
code() - Method in record class org.microproxy.http.HttpResponseStatus
Returns the value of the code record component.
code() - Method in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
Returns the reason's name in lower case: certificate_revoked, ....
code() - Method in enum class org.microproxy.ResponseFlag
Returns Envoy's short code, such as UF.
code() - Method in enum class org.microproxy.ServerState
Returns the value of the server.state gauge in this state, Envoy's number for it.
codeName() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns the code's name, or null for an unknown code.
codeName(int) - Static method in class org.microproxy.contentviews.Grpc
The name of a status code.
compareDigest(Object, Object) - Method in class org.microproxy.starlark.stdlib.HashlibModule
Compares like-typed byte strings or ASCII strings with the JDK digest comparison.
compareTo(StreamId) - Method in record class io.github.mahmoudimus.quic.connection.StreamId
 
compareTo(ConnectionId) - Method in class io.github.mahmoudimus.quic.ConnectionId
Orders by length, then by unsigned bytes.
compatibleWith(Key) - Method in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
Whether a key (public or private) can make or check this scheme's signatures: an EC key on the scheme's curve, an rsaEncryption RSA key, or an Ed25519 key.
compile(String, String, StarlarkScript.Limits) - Static method in class org.microproxy.starlark.StarlarkScript
Compiles and runs source; name appears in error messages.
compile(String, String, StarlarkScript.Limits, Map<String, ?>) - Static method in class org.microproxy.starlark.StarlarkScript
Compiles and runs source with constants as read-only globals (see ScriptedProxy.Builder.constants); name appears in error messages.
compile(String, String, StarlarkScript.Limits, Map<String, ?>, StatsRegistry) - Static method in class org.microproxy.starlark.StarlarkScript
Compiles and runs source with constants as read-only globals, its stats module counting into stats (ScriptStats); name appears in error messages.
complete() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the complete record component.
compress(boolean) - Method in class org.microproxy.warc.WarcRecorder.Builder
Gzip each record (default true).
compress(byte[], String) - Static method in class org.microproxy.contentviews.Grpc
Compresses one message's payload.
compressed() - Method in record class org.microproxy.contentviews.Grpc.Frame
Returns the value of the compressed record component.
compression(boolean) - Method in class org.microproxy.otel.Telemetry.Builder
Gzips the exports (OTEL_EXPORTER_OTLP_COMPRESSION=gzip).
COMPRESSION_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The HPACK compression state is invalid.
concurrency(int) - Method in class org.microproxy.extras.ClientReplay.Builder
How many requests may be in flight at once (default 1, as mitmproxy's client_replay_concurrency).
ConcurrencyLimiter - Class in org.microproxy.extras
Limits how many exchanges run at once per key: per client address by default, or per user, per target host, or anything else a key function derives from the request and its client connection.
ConcurrencyLimiter.Builder - Class in org.microproxy.extras
Configures a ConcurrencyLimiter.
ConcurrencyLimiter.KeyStats - Record Class in org.microproxy.extras
One key's state.
ConcurrencyLimiter.RejectListener - Interface in org.microproxy.extras
Called for every request over the limit, refused or (in shadow mode) let through.
ConcurrencyLimiter.Responder - Interface in org.microproxy.extras
Makes the answer to a refused request; null sends the default 429.
ConcurrencyLimiter.Snapshot - Record Class in org.microproxy.extras
The limiter's state at one moment.
CONCURRENT_MAP - Enum constant in enum class org.microproxy.ServerConnectionPoolType
Idle connections kept per host and route, with global and per-host limits.
confidentialityLimit() - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
How many packets may be sealed with this key before it must be updated.
config() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
The endpoint's settings.
configurationNames() - Static method in class org.microproxy.ProtocolPolicy
configure(SSLSocket, boolean) - Method in interface org.microproxy.SslContextSource
Customizes a socket created from SslContextSource.getSslContext() before its handshake (protocols, cipher suites, client authentication, ...).
configure(HttpProxyServerBootstrap, PrintStream) - Method in interface org.microproxy.LauncherExtension
Applies the parsed options, after the built-in ones; HttpProxyServerBootstrap.getChainProxyManager() shows any upstream configuration to wrap.
configure(HttpProxyServerBootstrap, PrintStream) - Method in class org.microproxy.otel.OtelLauncherExtension
 
configure(HttpProxyServerBootstrap, PrintStream) - Method in class org.microproxy.starlark.StarlarkLauncherExtension
 
configureServerSocket(SSLSocket) - Method in interface org.microproxy.MitmManager
Customizes the socket to the real server before its handshake.
configureServerSocket(SSLSocket, FlowContext) - Method in interface org.microproxy.MitmManager
Customizes the socket to the real server for the client connection flow.
congestion() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The congestion controller.
congestionControl(TransportConfig.CongestionControl) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Chooses one of the provided congestion controllers with its default settings.
congestionController() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the congestionController record component.
congestionControllerFactory() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the congestionControllerFactory record component.
congestionControllerFactory(ControllerFactory) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the congestion controller.
congestionControllerFactory(ControllerFactory) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
A custom congestion controller.
congestionEvents() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Congestion events, from loss or ECN.
congestionEvents() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the congestionEvents record component.
congestionWindow() - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Returns the value of the congestionWindow record component.
congestionWindow() - Method in class io.github.mahmoudimus.quic.connection.Connection
The congestion window.
congestionWindow() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the congestionWindow record component.
connect() - Method in record class org.microproxy.FlowTimings
How long the TCP connect took.
connect(long, ClientConfig, InetSocketAddress, String) - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Starts a client connection.
connect(long, ClientConfig, InetSocketAddress, String, SessionCache) - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Starts a client connection with a cache of session tickets and tokens: it resumes with a ticket from the cache (and sends 0-RTT data if the ticket and the TLS configuration allow it), presents a token from the cache, and keeps the tickets and tokens it receives.
connect(InetSocketAddress) - Method in class io.github.mahmoudimus.quic.QuicClient
Connects with the TLS configuration's server name, waiting for the handshake.
connect(InetSocketAddress, String, Duration) - Method in class io.github.mahmoudimus.quic.QuicClient
Connects, waiting for the handshake.
connect(InetSocketAddress, String, Duration, SessionCache) - Method in class io.github.mahmoudimus.quic.QuicClient
Connects with a cache of session tickets and tokens, waiting for the handshake.
CONNECT - Static variable in class org.microproxy.http.HttpMethod
The CONNECT request method.
CONNECT_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The connection established by CONNECT failed.
connectEarly(InetSocketAddress, String, Duration) - Method in class io.github.mahmoudimus.quic.QuicClient
Connects, returning at once if the connection can send 0-RTT data (it resumes with a ticket that allows it, and the TLS configuration enables early data); otherwise waiting for the handshake as QuicClient.connect(InetSocketAddress, String, Duration) does.
connectEarly(InetSocketAddress, String, Duration, SessionCache) - Method in class io.github.mahmoudimus.quic.QuicClient
Connects with a cache of session tickets and tokens, returning at once if the connection can send 0-RTT data.
Connected() - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Connected
Creates an instance of a Connected record class.
connectEndNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the connectEndNanos record component.
ConnectFailed(String, IOException) - Constructor for record class org.microproxy.ProxyFailure.ConnectFailed
Creates an instance of a ConnectFailed record class.
connection() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Deliver
Returns the value of the connection record component.
connection() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.NewConnection
Returns the value of the connection record component.
connection() - Method in class io.github.mahmoudimus.quic.QuicStream
The connection.
connection() - Method in interface org.microproxy.quic.QuicContext
The QUIC connection's context: this one, for a connection; the connection's, for a stream.
Connection - Class in io.github.mahmoudimus.quic.connection
One QUIC connection (RFC 9000, 9001, 9002) as a sans-I/O state machine, after quinn-proto's Connection.
CONNECTION - Static variable in class org.microproxy.http.HttpHeaderNames
The Connection header field name.
CONNECTION_CLOSE - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
CONNECTION_CLOSE for transport errors (0x1c), the only close allowed in Initial and Handshake.
CONNECTION_CLOSED - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
The peer closed the connection with a transport error (CONNECTION_CLOSE 0x1c).
CONNECTION_ID_LIMIT_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The peer used more connection IDs than allowed.
CONNECTION_REFUSED - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The server refused the connection.
CONNECTION_SPECIFIC - Static variable in class io.github.mahmoudimus.http2.Http2Headers
Fields that are specific to an HTTP/1 connection and must not appear in HTTP/2 (§8.2.2).
CONNECTION_SPECIFIC - Static variable in class io.github.mahmoudimus.http3.Http3Headers
Fields that are specific to an HTTP/1 connection and must not appear in HTTP/3 (RFC 9114 §4.2).
ConnectionClose(long, long, ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
A transport CONNECTION_CLOSE frame.
connectionCount() - Method in class io.github.mahmoudimus.quic.QuicClient
The number of connections, including those still handshaking or closing.
connectionCount() - Method in class io.github.mahmoudimus.quic.QuicServer
The number of connections, including those still handshaking or closing.
connectionError(ErrorCode, String) - Static method in exception class io.github.mahmoudimus.http2.Http2Exception
An error that ends the connection.
connectionError(Http3ErrorCode, String) - Static method in exception class io.github.mahmoudimus.http3.Http3Exception
An error that ends the connection.
ConnectionError - Record Class in io.github.mahmoudimus.quic.connection
Why a connection ended.
ConnectionError(ConnectionError.Kind, long, long, String) - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionError
The error.
ConnectionError.Kind - Enum Class in io.github.mahmoudimus.quic.connection
What ended a connection.
ConnectionEvent - Interface in io.github.mahmoudimus.quic.connection
What a Connection tells its application, through Connection.pollEvent().
ConnectionEvent.Connected - Record Class in io.github.mahmoudimus.quic.connection
The handshake completed: streams and datagrams can flow.
ConnectionEvent.ConnectionLost - Record Class in io.github.mahmoudimus.quic.connection
The connection ended; this is the last event.
ConnectionEvent.DatagramReceived - Record Class in io.github.mahmoudimus.quic.connection
One or more DATAGRAM frames arrived; read them with Connection.receiveDatagram().
ConnectionEvent.HandshakeConfirmed - Record Class in io.github.mahmoudimus.quic.connection
The handshake is confirmed (RFC 9001 section 4.1.2).
ConnectionEvent.HandshakeDataReady - Record Class in io.github.mahmoudimus.quic.connection
The handshake has progressed far enough that the ALPN protocol and, on a server, the client's server name are known.
ConnectionEvent.PathProbeFailed - Record Class in io.github.mahmoudimus.quic.connection
A client's probe of a new path got no PATH_RESPONSE in time: the connection stays on its path.
ConnectionEvent.PathUpdated - Record Class in io.github.mahmoudimus.quic.connection
The path packets are sent on changed: the server followed the client to a new address (and validates it), went back to the previous path after a failed validation, or the client switched to a path it probed (Connection.probePath(long, java.net.InetSocketAddress), or the server's preferred address).
ConnectionEvent.Stream - Record Class in io.github.mahmoudimus.quic.connection
Something happened on a stream.
connectionExceptionCaught(FlowContext, Throwable) - Method in interface org.microproxy.ActivityTracker
Called when something failed on the client side of a flow: client I/O errors, and unexpected exceptions while serving the connection (which is then closed).
connectionFailed(Throwable) - Method in interface org.microproxy.ChainedProxy
Called when connecting fails; the proxy then tries the next chained proxy, if any.
connectionId() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Returns the value of the connectionId record component.
connectionId() - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Returns the value of the connectionId record component.
connectionId() - Method in interface org.microproxy.frames.FrameContext
The client connection the frame belongs to (FlowContext.getConnectionId()), or -1 for a frame of a connection to a server that serves several clients (one not about a stream) or a pipeline given no id.
connectionId() - Method in interface org.microproxy.quic.QuicContext
The client connection the QUIC connection belongs to (FlowContext.getConnectionId()).
connectionId() - Method in interface org.microproxy.tcp.TcpContext
The client connection the tunnel belongs to (FlowContext.getConnectionId()).
connectionId() - Method in interface org.microproxy.udp.UdpContext
The client connection the flow belongs to (FlowContext.getConnectionId()).
connectionId(long) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
The connection id the interceptor is told (FrameContext.connectionId()); default -1.
ConnectionId - Class in io.github.mahmoudimus.quic
A QUIC connection ID (RFC 9000 section 5.1): 0 to 20 opaque bytes with value semantics.
ConnectionIdGenerator - Interface in io.github.mahmoudimus.quic.connection
Generates the connection IDs an endpoint issues.
ConnectionLost(ConnectionError) - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.ConnectionLost
Creates an instance of a ConnectionLost record class.
connectionReceiveWindow() - Method in class io.github.mahmoudimus.http2.FlowController
Returns the connection receive window.
connectionReceiveWindow() - Method in class org.microproxy.Http3Options
Returns the flow-control window of a connection, for all its streams together.
connectionReceiveWindow(long) - Method in class org.microproxy.Http3Options.Builder
QUIC's flow-control window per connection (default 1 MiB), for all its streams together.
connections() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
The connections the endpoint routes to, until each is drained.
connectionSendWindow() - Method in class io.github.mahmoudimus.http2.FlowController
Returns the connection send window.
connectionsRefused() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Connections refused before they started, with CONNECTION_CLOSE in an Initial packet (server busy, an invalid token or connection ID).
connectionsRefused() - Method in record class io.github.mahmoudimus.quic.EndpointStats
Returns the value of the connectionsRefused record component.
connectionSucceeded() - Method in interface org.microproxy.ChainedProxy
Called when the upstream proxy connection succeeds.
connectionTimedOut(FlowContext) - Method in interface org.microproxy.ActivityTracker
Called when the client connection reaches its idle timeout.
connectionWindowSize() - Method in class org.microproxy.Http2Options
Returns the connection's receive window: request body bytes buffered per connection, at most.
connectionWindowSize(int) - Method in class org.microproxy.Http2Options.Builder
The connection's flow-control window (default 1 MiB): the most the proxy buffers for all of a connection's streams together.
connectStartNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the connectStartNanos record component.
connectTimeout(Duration) - Method in class org.microproxy.HttpFiltersBuilder
The connect timeout for these requests' new connections, instead of the server's (see HttpFilters.proxyToServerConnectTimeout()).
connectUdpIdleTimeout() - Method in class org.microproxy.Http3Options
Returns how long a CONNECT-UDP flow lives without a datagram in either direction.
connectUdpIdleTimeout(Duration) - Method in class org.microproxy.Http3Options.Builder
How long a CONNECT-UDP flow lives without a datagram in either direction (default 60 s), after which the proxy closes its socket and ends the client's stream.
connectUdpInterceptQuic() - Method in class org.microproxy.Http3Options
Returns whether QUIC inside CONNECT-UDP flows is decided on as transparent QUIC is, rather than relayed.
connectUdpInterceptQuic(boolean) - Method in class org.microproxy.Http3Options.Builder
Whether QUIC inside CONNECT-UDP flows is decided on as transparent QUIC is (default false: relayed as any UDP).
connectUdpMaxFlows() - Method in class org.microproxy.Http3Options
Returns the CONNECT-UDP flows the proxy relays at once.
connectUdpMaxFlows(int, int) - Method in class org.microproxy.Http3Options.Builder
The CONNECT-UDP flows the proxy relays at once (default 4096), and that one client connection may have open (default 64); each has a UDP socket of its own.
connectUdpMaxFlowsPerConnection() - Method in class org.microproxy.Http3Options
Returns the CONNECT-UDP flows one client connection may have open at once.
connectUdpMaxQueued() - Method in class org.microproxy.Http3Options
Returns the datagrams a CONNECT-UDP flow queues in each direction, beyond which it drops them.
connectUdpMaxQueuedBytes() - Method in class org.microproxy.Http3Options
Returns the bytes of datagrams a CONNECT-UDP flow queues in each direction, beyond which it drops them.
connectUdpQueue(int, long) - Method in class org.microproxy.Http3Options.Builder
The datagrams (default 128) and bytes (default 512 KiB) a CONNECT-UDP flow queues in each direction while the other side is not ready for them (a client that does not read its stream, so that the capsules to it wait for flow control, a target socket that does not keep up).
connectUdpQuicPorts() - Method in class org.microproxy.Http3Options
Returns the target ports of the CONNECT-UDP flows whose QUIC is decided on; empty for every port.
connectUdpQuicPorts(int...) - Method in class org.microproxy.Http3Options.Builder
The target ports of the CONNECT-UDP flows whose QUIC Http3Options.Builder.connectUdpInterceptQuic decides on (default 443); none for every port.
connectUdpReleaseWait() - Method in class org.microproxy.Http3Options
Returns how long a CONNECT-UDP request that finds the proxy's bound on flows full waits for flows already ending to give their places back.
connectUdpReleaseWait(Duration) - Method in class org.microproxy.Http3Options.Builder
How long a CONNECT-UDP request that finds the proxy's bound on flows (Http3Options.Builder.connectUdpMaxFlows) full waits for a place, while flows that are already ending still hold theirs (default 250 ms; zero refuses at once).
connectUdpTemplate() - Method in class org.microproxy.Http3Options
Returns the URI template CONNECT-UDP requests name their target with (RFC 9298).
connectUdpTemplate(String) - Method in class org.microproxy.Http3Options.Builder
The URI template that CONNECT-UDP requests (MASQUE, RFC 9298) name their target with, on a forward proxy's HTTP/3 listener and, over HTTP/2 and HTTP/1.1, its TCP listener (HttpProxyServerBootstrap.withConnectUdp(boolean)): by default the well-known /.well-known/masque/udp/{target_host}/{target_port}/.
conservative() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
A conservative estimate, the larger of the smoothed and latest RTT (RFC 9002 section 6.1.2).
constants(Map<String, ?>) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
Adds read-only globals the script can use, such as tokens or host lists that should not be written into the script.
contains(long) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Whether a value is in the set.
contains(long) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Whether the frame acknowledges a packet number.
contains(long) - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckRange
Whether a packet number lies in the range.
contains(String) - Method in class org.microproxy.http.HttpHeaders
Checks whether a field with this name exists.
containsKey(StarlarkSemantics, Object) - Method in class org.microproxy.starlark.ScriptHeaders
 
containsValue(String, String, boolean) - Method in class org.microproxy.http.HttpHeaders
Returns true if any comma-separated element of any field named name equals value.
content() - Method in class org.microproxy.http.DefaultFullHttpRequest
 
content() - Method in class org.microproxy.http.DefaultFullHttpResponse
 
content() - Method in class org.microproxy.http.DefaultHttpContent
 
content() - Method in interface org.microproxy.http.HttpContent
Returns the live backing array of body bytes, not a copy.
content(boolean) - Method in class org.microproxy.extras.HarRecorder.Builder
Whether to record bodies (default true).
CONTENT_ENCODING - Static variable in class org.microproxy.http.HttpHeaderNames
The Content-Encoding header field name.
CONTENT_LENGTH - Static variable in class org.microproxy.http.HttpHeaderNames
The Content-Length header field name.
CONTENT_TYPE - Static variable in class org.microproxy.http.HttpHeaderNames
The Content-Type header field name.
contentAsString() - Method in interface org.microproxy.http.HttpContent
Returns this body piece decoded as UTF-8.
contentAsString(Charset) - Method in interface org.microproxy.http.HttpContent
Decodes this body piece as text.
contentEncodings(HttpMessage) - Static method in class org.microproxy.http.HttpBodies
The content codings applied to message, outermost last (identity omitted).
contentLength() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the contentLength record component.
contentLength() - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
Returns the value of the contentLength record component.
contentLength() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the contentLength record component.
contentLength() - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
Returns the value of the contentLength record component.
contentLength() - Method in interface org.microproxy.http.HttpContent
Returns the number of bytes in this body piece.
contentSize() - Method in class io.github.mahmoudimus.zstd.ZstdDictionary
Returns the size of the content frames can copy from.
contentType() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns the value of the contentType record component.
contentType() - Method in enum class org.microproxy.otel.Telemetry.Protocol
Returns the content type of the requests.
contentView() - Method in class org.microproxy.extras.HttpLogger
Returns the content view bodies are rendered with ("auto" for the best one).
contentView(String) - Method in class org.microproxy.extras.HttpLogger.Builder
The content view to render bodies with: "auto" (the default) for the best one for each body, or a view's name, such as grpc.
ContentView - Interface in org.microproxy.contentviews
Turns a message body into readable text: protobuf as YAML with field numbers, gRPC message by message, msgpack, form data, GraphQL, and so on.
ContentView.Metadata - Record Class in org.microproxy.contentviews
What a view knows about a body besides its bytes.
contentViews() - Method in class org.microproxy.extras.HttpLogger
Returns the content views bodies are rendered with, or null when they are not.
contentViews(ContentViews) - Method in class org.microproxy.extras.HttpLogger.Builder
At HttpLogger.Level.BODY, renders bodies through views where one applies (see HttpLogger.Builder.contentView(java.lang.String)): protobuf and gRPC message by message, JSON indented, form data, GraphQL, msgpack.
ContentViews - Class in org.microproxy.contentviews
A set of ContentViews, and the choice among them.
ContentViews.Rendered - Record Class in org.microproxy.contentviews
A body rendered by a view.
context() - Method in class org.microproxy.FlowRecord
Returns the client's context of the exchange or flow.
Continuation(int, byte[], boolean) - Constructor for record class io.github.mahmoudimus.http2.Frame.Continuation
Creates CONTINUATION for a nonzero stream.
CONTINUATION - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for a continued field block.
CONTINUE - Static variable in record class org.microproxy.http.HttpResponseStatus
 
CONTROL - Enum constant in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Kind
A control stream.
CONTROL - Static variable in class io.github.mahmoudimus.http3.Http3StreamType
The control stream: SETTINGS first, then GOAWAY, MAX_PUSH_ID, CANCEL_PUSH and extensions.
Controller - Interface in io.github.mahmoudimus.quic.congestion
A congestion controller (RFC 9002 section 7): decides how many ack-eliciting bytes may be in flight.
ControllerFactory - Interface in io.github.mahmoudimus.quic.congestion
Builds congestion controllers, one per path.
ControllerMetrics - Record Class in io.github.mahmoudimus.quic.congestion
Congestion controller metrics.
ControllerMetrics(long, long, long) - Constructor for record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Metrics without a bandwidth estimate.
ControllerMetrics(long, long, long, long) - Constructor for record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Creates an instance of a ControllerMetrics record class.
controlStream(long, InputStream, OutputStream) - Method in class org.microproxy.frames.Http3FramePipeline
Processes a control stream, from its stream type (which must be 0x00, the control stream's) until its end, writing the result, stream type first, to out, which is flushed after each frame and not closed.
cookies() - Method in class org.microproxy.extras.StickyCookie
The cookies the jar holds and has not seen expire, as name=value strings by domain path; for inspection.
copy() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
copy() - Method in interface io.github.mahmoudimus.quic.congestion.Controller
A copy of the controller's state, for a new path that starts from this one.
copy() - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
copy() - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
copy() - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
A copy with the same MTU, search and black hole state, for a new path that is presumably the same network (a NAT rebinding), as quinn clones it.
copy() - Method in class org.microproxy.http.HttpHeaders
Returns a deep copy of these headers.
copy(StarlarkThread) - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Copies the accumulated state into an independent hash object.
copy(StarlarkThread) - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Copies the accumulated state into an independent HMAC object.
count() - Method in interface org.microproxy.cache.CacheStore
Returns the number of stored responses (variants).
count() - Method in class org.microproxy.cache.DiskCacheStore
 
count() - Method in class org.microproxy.cache.MemoryCacheStore
 
count() - Method in class org.microproxy.starlark.ScriptStats.ScriptHistogram
histogram.count.
count() - Method in class org.microproxy.stats.Histogram.Snapshot
Returns how many values were recorded.
count(String) - Method in class org.microproxy.http.HttpHeaders
The number of fields named name.
counter(String) - Method in class org.microproxy.starlark.ScriptStats
stats.counter(name): the counter script.<name>.
counter(String) - Method in class org.microproxy.stats.StatsRegistry
The counter named name, made the first time.
counter(String) - Method in class org.microproxy.stats.StatsScope
The counter <prefix>.<name>, made the first time while there is room.
counter(String, String) - Method in class org.microproxy.stats.StatsRegistry
The counter named name, made the first time with help.
counter(String, String, LongSupplier) - Method in class org.microproxy.stats.StatsRegistry
A counter named name whose count is read from value, for counts kept elsewhere (such as HttpCache.stats()); it cannot be added to.
Counter - Interface in org.microproxy.stats
A count that only goes up, such as downstream_rq_total.
COUNTER - Enum constant in enum class org.microproxy.stats.Metric.Type
A count that only goes up (Counter).
countTunnels() - Method in class org.microproxy.extras.ConcurrencyLimiter
Returns whether CONNECT tunnels hold a permit (see the class documentation).
countTunnels(boolean) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Whether a CONNECT tunnel (and an upgraded WebSocket connection) holds its permit for its lifetime (default true).
create() - Static method in class io.github.mahmoudimus.quic.tls.Ticketer
A ticketer with random keys rotated every Ticketer.DEFAULT_LIFETIME.
create() - Static method in class io.github.mahmoudimus.zstd.ZstdDecompressor
Returns a decompressor with default settings.
create() - Static method in class org.microproxy.extras.AntiCache
Strips the conditional headers from every request.
create() - Static method in class org.microproxy.stats.StatsRegistry
Returns a registry with the default settings.
create(ClientConfig) - Static method in class io.github.mahmoudimus.quic.QuicClient
A client on an ephemeral IPv4 port, with the default endpoint settings.
create(ClientConfig, InetSocketAddress, EndpointConfig) - Static method in class io.github.mahmoudimus.quic.QuicClient
A client.
create(QuicVersion, ConnectionId, ConnectionId, byte[], ConnectionId) - Static method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
A Retry packet with its integrity tag computed for the client's original Destination Connection ID.
create(TokenPayload, RandomGenerator) - Static method in class io.github.mahmoudimus.quic.token.Token
A token with a fresh random nonce.
create(Duration, InstantSource) - Static method in class io.github.mahmoudimus.quic.tls.Ticketer
A ticketer with random keys.
CREATED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
crlfLines() - Static method in interface org.microproxy.quic.MessageFramer
Lines that end with a carriage return and a line feed: the payload is the line without them, and they are added after each payload sent.
crypto - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
CRYPTO frames to send, retransmissions first.
Crypto(long, ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.Crypto
A CRYPTO frame.
CRYPTO - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
CRYPTO (0x06).
CRYPTO_BUFFER_EXCEEDED - Static variable in exception class io.github.mahmoudimus.quic.QuicException
More CRYPTO data than could be buffered.
CRYPTO_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The base of the TLS alert range: CRYPTO_ERROR + alert.
cryptoBufferSize(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The most out-of-order CRYPTO data to buffer per encryption level; more is CRYPTO_BUFFER_EXCEEDED.
cryptoOffset() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The offset of the next outgoing CRYPTO byte.
cryptoStream() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The incoming CRYPTO stream.
CSV - Enum constant in enum class org.microproxy.extras.LogFormat
RFC 4180 comma-separated values, every field quoted: time, client, method, URL, status, bytes, duration, user agent.
Cubic - Class in io.github.mahmoudimus.quic.congestion
The CUBIC congestion controller (RFC 9438), counting the window in bytes: slow start, then the cubic window function W_cubic(t) = C * (t - K)^3 + W_max with the Reno-friendly estimate W_est, fast convergence, and a multiplicative decrease of beta_cubic = 0.7.
Cubic(CubicConfig, long, int) - Constructor for class io.github.mahmoudimus.quic.congestion.Cubic
A controller in slow start.
CUBIC - Enum constant in enum class io.github.mahmoudimus.quic.connection.TransportConfig.CongestionControl
CUBIC (RFC 9438), the default.
CUBIC - Enum constant in enum class org.microproxy.Http3Options.QuicCongestionControl
CUBIC (RFC 9438), the default.
CubicConfig - Record Class in io.github.mahmoudimus.quic.congestion
Configuration of the Cubic controller.
CubicConfig(long) - Constructor for record class io.github.mahmoudimus.quic.congestion.CubicConfig
A configuration.
cumulativeCount(int) - Method in class org.microproxy.stats.Histogram.Snapshot
The count of bucket i and every bucket below it, as Prometheus's _bucket lines show it.
currentMtu() - Method in class io.github.mahmoudimus.quic.connection.Connection
The current path MTU.
currentMtu() - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
The current MTU.

D

data() - Method in record class io.github.mahmoudimus.http2.Frame.Data
Returns the value of the data record component.
data() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Data
Returns the value of the data record component.
data() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
The data.
data() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
The payload.
data() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
Returns the value of the data record component.
data() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
Returns the value of the data record component.
data() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
The data.
data() - Method in record class org.microproxy.contentviews.ProtoValue.Bytes
Returns the value of the data record component.
data() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
The RDATA read as its type's DnsMessage.Rdata: an DnsMessage.Address for A and AAAA, a DnsMessage.Name for NS, CNAME, PTR and DNAME, DnsMessage.Mx, DnsMessage.Srv, DnsMessage.Txt and DnsMessage.Soa; DnsMessage.Opaque for other types, and for RDATA that does not parse.
data() - Method in record class org.microproxy.frames.Http2Frame.Data
Returns the value of the data record component.
data() - Method in record class org.microproxy.frames.Http3Frame.Data
Returns the value of the data record component.
data() - Method in class org.microproxy.quic.QuicDatagram
The payload as received.
data() - Method in class org.microproxy.quic.QuicMessage
The payload.
data() - Method in class org.microproxy.quic.QuicStreamMessage
The bytes as read.
data() - Method in class org.microproxy.tcp.TcpMessage
The bytes as read.
data() - Method in class org.microproxy.udp.UdpMessage
The payload as received.
data(byte[]) - Static method in interface org.microproxy.frames.Http3Frame
A DATA frame to inject.
data(int, byte[], boolean) - Static method in interface org.microproxy.frames.Http2Frame
A DATA frame to inject.
Data(byte[]) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.Data
Creates DATA.
Data(byte[]) - Constructor for record class org.microproxy.frames.Http3Frame.Data
Creates DATA.
Data(int, byte[], boolean) - Constructor for record class io.github.mahmoudimus.http2.Frame.Data
Creates an unpadded DATA frame.
Data(int, byte[], boolean) - Constructor for record class org.microproxy.frames.Http2Frame.Data
Creates DATA.
Data(int, byte[], boolean, int) - Constructor for record class io.github.mahmoudimus.http2.Frame.Data
Creates DATA with a nonzero stream and valid padding.
DATA - Enum constant in enum class io.github.mahmoudimus.quic.connection.SpaceId
0-RTT and 1-RTT packets, which share a space.
DATA - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for stream content.
DATA - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
DATA (§7.2.1).
DATA_BLOCKED - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
DATA_BLOCKED (0x14).
DATA_READ - Enum constant in enum class io.github.mahmoudimus.quic.connection.RecvState
The application has read all the data.
DATA_RECVD - Enum constant in enum class io.github.mahmoudimus.quic.connection.RecvState
Every byte up to the final size has arrived.
DATA_RECVD - Enum constant in enum class io.github.mahmoudimus.quic.connection.SendState
Every byte and the FIN were acknowledged.
DATA_SENT - Enum constant in enum class io.github.mahmoudimus.quic.connection.SendState
The FIN has been sent; only retransmissions remain.
dataBlocked - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Whether a DATA_BLOCKED is needed.
DataBlocked(long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
A DATA_BLOCKED frame.
datagram() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Response
Returns the value of the datagram record component.
datagram() - Method in record class io.github.mahmoudimus.quic.connection.Transmit
Returns the value of the datagram record component.
datagram() - Method in class io.github.mahmoudimus.quic.packet.PacketBuilder
The datagram built so far: every finished packet.
datagram(QuicDatagram, QuicContext) - Method in interface org.microproxy.quic.QuicInterceptor
A datagram (RFC 9221) from one side, before it is passed on.
Datagram(ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.Datagram
A DATAGRAM frame.
DATAGRAM - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
DATAGRAM (0x30, and 0x31 with a Length field) of RFC 9221.
datagramReceiveBufferSize() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The largest DATAGRAM payload buffered for the application, or 0 when DATAGRAM frames are refused.
datagramReceiveBufferSize(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The DATAGRAM (RFC 9221) receive buffer; the oldest unread datagrams are dropped beyond it. 0 refuses DATAGRAM frames altogether.
DatagramReceived() - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.DatagramReceived
Creates an instance of a DatagramReceived record class.
datagramSendBufferSize(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The DATAGRAM send buffer; the oldest unsent datagrams are dropped beyond it.
DATE - Static variable in class org.microproxy.http.HttpHeaderNames
The Date header field name.
debugData() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Returns the value of the debugData record component.
debugData() - Method in record class org.microproxy.frames.Http2Frame.GoAway
Returns the value of the debugData record component.
debugText() - Method in record class org.microproxy.frames.Http2Frame.GoAway
The debug data as text (malformed UTF-8 replaced).
dec() - Method in interface org.microproxy.stats.Gauge
Subtracts one.
dec(StarlarkInt) - Method in class org.microproxy.starlark.ScriptStats.ScriptGauge
gauge.dec(n=1).
declared() - Method in record class org.microproxy.contentviews.ProtoField
Returns the value of the declared record component.
DECODABLE - Static variable in class org.microproxy.http.HttpBodies
Content codings this class can decode: gzip, x-gzip, deflate and br, plus zstd when the zstd-decoder module is on the class path.
decode(byte[]) - Static method in class io.github.mahmoudimus.http2.OriginFrame
Reads an ORIGIN frame's payload.
decode(byte[]) - Static method in class org.microproxy.contentviews.Protobuf
Decodes a message without a schema.
decode(byte[]) - Static method in class org.microproxy.dns.DnsMessage
Decodes a message from its wire format, following compression pointers.
decode(byte[], boolean) - Static method in record class io.github.mahmoudimus.quic.params.TransportParameters
Decodes and validates the peer's transport parameters from an array.
decode(byte[], ProtoSchema, String) - Static method in class org.microproxy.contentviews.Protobuf
Decodes a message as messageType of schema; fields the type does not declare, or whose values do not match their declared type, are decoded without it.
decode(int, byte[]) - Method in class io.github.mahmoudimus.http2.HpackDecoder
Decodes a complete HPACK field block.
decode(int, byte[], int, int) - Method in class io.github.mahmoudimus.http2.HpackDecoder
Decodes one complete field block.
decode(long, byte[]) - Method in class io.github.mahmoudimus.http3.QpackDecoder
Decodes one encoded field section (the payload of a HEADERS or PUSH_PROMISE frame).
decode(long, long, int) - Static method in class io.github.mahmoudimus.quic.packet.PacketNumber
Recovers a full packet number from its truncated value (RFC 9000 appendix A.3): the value closest to one more than the largest packet number processed so far.
decode(TokenKey, byte[]) - Static method in class io.github.mahmoudimus.quic.token.Token
Opens and decodes a token.
decode(String, byte[], int) - Static method in class org.microproxy.http.HttpBodies
Removes one content coding from data, as HttpBodies.decoded(FullHttpMessage, int) does for each coding of a message.
decode(String, Object, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.JsonModule
Parses JSON, optionally returning a fallback for malformed input.
decode(ByteBuffer) - Static method in class io.github.mahmoudimus.quic.frame.FrameDecoder
Decodes one frame at the buffer's position.
decode(ByteBuffer, boolean) - Static method in record class io.github.mahmoudimus.quic.params.TransportParameters
Decodes and validates the peer's transport parameters.
DECODE_ERROR - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A message could not be decoded (50).
decodeAll(ByteBuffer, PacketType) - Static method in class io.github.mahmoudimus.quic.frame.FrameDecoder
Decodes every frame of a packet payload, checking each against the packet type.
decoded(FullHttpMessage) - Static method in class org.microproxy.http.HttpBodies
The body with all content codings removed.
decoded(FullHttpMessage, int) - Static method in class org.microproxy.http.HttpBodies
Removes all content codings with a limit on each decompression stage.
decodedPrefix(FullHttpMessage, int) - Static method in class org.microproxy.http.HttpBodies
The first maxBytes of the body with all content codings removed, for previews and logs: unlike HttpBodies.decoded(FullHttpMessage, int), a longer decoded body is cut short rather than an error, and only that much is ever decoded.
DecodeException - Exception Class in org.microproxy.contentviews
Data that a decoder or ContentView cannot make sense of: malformed protobuf, a truncated gRPC frame, an unknown compression, invalid msgpack, JSON or multipart data.
DecodeException(String) - Constructor for exception class org.microproxy.contentviews.DecodeException
Creates an exception describing what was wrong with the data.
DecodeException(String, Throwable) - Constructor for exception class org.microproxy.contentviews.DecodeException
Creates an exception describing what was wrong with the data, caused by cause.
decoderStreamBytes() - Method in class io.github.mahmoudimus.http3.QpackDecoder
Takes the decoder-stream instructions queued so far, ending with an Insert Count Increment for any entries received but not yet acknowledged; send them on the QPACK decoder stream.
decompress(byte[]) - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor
Decodes all of data.
decompress(byte[], int) - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor
Decodes all of data, failing if the output would exceed maxOutputSize bytes.
decompress(byte[], String, int) - Static method in class org.microproxy.contentviews.Grpc
Decompresses one message's payload.
decrypt(byte[]) - Method in class io.github.mahmoudimus.quic.tls.Ticketer
Opens a ticket sealed by this ticketer under its current key, or its previous key while that is within its grace lifetime.
decrypt(PacketKey) - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Opens the payload in place, once header protection is removed.
DECRYPT_ERROR - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A handshake cryptographic operation failed, such as a signature or Finished check (51).
dedup() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The duplicate detector of received packet numbers.
Dedup - Class in io.github.mahmoudimus.quic.connection
A sliding-window detector of duplicate packet numbers, in the style of RFC 4303: a 128-bit field, one bit per packet number below the highest authenticated one.
Dedup() - Constructor for class io.github.mahmoudimus.quic.connection.Dedup
An empty window at packet number zero.
DEFAULT - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The protocol's initial values.
DEFAULT - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
The initial values, in force until the peer's SETTINGS frame arrives.
DEFAULT - Static variable in record class io.github.mahmoudimus.quic.congestion.BbrConfig
The default: a 240000-byte initial window, as in quinn.
DEFAULT - Static variable in record class io.github.mahmoudimus.quic.congestion.CubicConfig
The default: a 12000-byte initial window.
DEFAULT - Static variable in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
The RFC 9002 defaults: a 12000-byte initial window and a loss reduction factor of 0.5.
DEFAULT - Static variable in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
The defaults.
DEFAULT - Static variable in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
The defaults.
DEFAULT - Static variable in class org.microproxy.Http2Options
The defaults: see each Http2Options.Builder method.
DEFAULT - Static variable in class org.microproxy.Http3Options
The defaults: see each Http3Options.Builder method.
DEFAULT - Static variable in record class org.microproxy.otel.SpanLimits
The defaults: 128 attributes of up to 4096 characters, 128 events of up to 128 attributes.
DEFAULT - Static variable in record class org.microproxy.starlark.StarlarkScript.Limits
Ten million steps, five seconds and 256 MiB per call.
DEFAULT_ACK_DELAY_EXPONENT - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The default ack_delay_exponent.
DEFAULT_ACTIVE_CONNECTION_ID_LIMIT - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The default and smallest active_connection_id_limit.
DEFAULT_ERROR_CODE - Static variable in class org.microproxy.quic.QuicFraming
The default application error code of the resets for a message that is too large or malformed: 0x2, DOQ_PROTOCOL_ERROR in DNS over QUIC (RFC 9250 section 8.4).
DEFAULT_EXPECTED_HITS - Static variable in class io.github.mahmoudimus.quic.token.BloomTokenLog
The default expected token uses per lifetime.
DEFAULT_HEADER_TABLE_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The initial HPACK table capacity in octets.
DEFAULT_HEALTH_CHECK_PATH - Static variable in interface org.microproxy.extras.AccessLogFilter
The health-check path AccessLogFilter.notHealthCheck() looks for.
DEFAULT_INITIAL_RTT - Static variable in class io.github.mahmoudimus.quic.congestion.RttEstimator
The initial RTT before any sample, 333 ms (RFC 9002 section 6.2.2).
DEFAULT_INITIAL_WINDOW_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The initial stream and connection credit in octets.
DEFAULT_LENGTH - Static variable in class io.github.mahmoudimus.quic.connection.RandomConnectionIdGenerator
The default ID length, 8 bytes.
DEFAULT_LIFETIME - Static variable in class io.github.mahmoudimus.quic.tls.Ticketer
The default lifetime of a ticket key, and so of tickets: 6 hours, as rustls uses.
DEFAULT_LIMIT - Static variable in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
quinn's window, and the active_connection_id_limit it advertises.
DEFAULT_MAX_ACK_DELAY - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The default max_ack_delay, in milliseconds.
DEFAULT_MAX_ALLOC_BYTES - Static variable in record class org.microproxy.starlark.StarlarkScript.Limits
The default allocation budget, 256 MiB a call.
DEFAULT_MAX_BODY_BYTES - Static variable in class org.microproxy.extras.HttpLogger
The default for HttpLogger.Builder.maxBodyBytes.
DEFAULT_MAX_BYTES - Static variable in class io.github.mahmoudimus.quic.token.BloomTokenLog
The default memory budget, 10 MiB.
DEFAULT_MAX_CONTINUATION_FRAMES - Static variable in class io.github.mahmoudimus.http2.FrameReader
The default limit on CONTINUATION frames per field block.
DEFAULT_MAX_DECODED_BYTES - Static variable in class org.microproxy.http.HttpBodies
Default cap on decoded body size.
DEFAULT_MAX_DEPTH - Static variable in class org.microproxy.contentviews.Protobuf
How deep messages and groups may nest before length-delimited values are left as bytes.
DEFAULT_MAX_FIELD_SECTION_SIZE - Static variable in class io.github.mahmoudimus.http3.QpackDecoder
The default limit on a decoded field section, 64 KiB.
DEFAULT_MAX_FRAME_PAYLOAD_SIZE - Static variable in class io.github.mahmoudimus.http3.Http3FrameReader
The default limit on a frame payload, 64 KiB.
DEFAULT_MAX_FRAME_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The initial maximum frame payload in octets.
DEFAULT_MAX_HANDSHAKE_MESSAGE_SIZE - Static variable in class io.github.mahmoudimus.quic.tls.TlsConfig
The default limit on a handshake message body: 64 KiB.
DEFAULT_MAX_HEADER_BLOCK_SIZE - Static variable in class io.github.mahmoudimus.http2.FrameReader
The default limit on a field block's encoded size, 64 KiB.
DEFAULT_MAX_HEADER_LIST_SIZE - Static variable in class io.github.mahmoudimus.http2.HpackDecoder
The default decoded field section limit, including per-field overhead, in octets.
DEFAULT_MAX_MESSAGE_BYTES - Static variable in class org.microproxy.contentviews.Grpc
The largest a message may grow to when it is decompressed.
DEFAULT_MAX_MESSAGE_SIZE - Static variable in class org.microproxy.quic.QuicFraming
The default limit on a message's size, its prefix or delimiter included: 1 MiB.
DEFAULT_MAX_SERVERS - Static variable in class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
The default number of servers.
DEFAULT_MAX_STRING_LENGTH - Static variable in class io.github.mahmoudimus.http2.HpackDecoder
The default maximum encoded or decoded string length in octets.
DEFAULT_MAX_UDP_PAYLOAD_SIZE - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The default max_udp_payload_size: the largest UDP payload.
DEFAULT_MAX_WINDOW_SIZE - Static variable in class io.github.mahmoudimus.zstd.ZstdDecompressor
The default window limit, 128 MiB: what the reference decoder accepts by default.
DEFAULT_REDACTED_HEADERS - Static variable in class org.microproxy.extras.HttpLogger
Headers redacted unless HttpLogger.Builder.redactNothing() is called.
DEFAULT_RETRY_TOKEN_LIFETIME - Static variable in class io.github.mahmoudimus.quic.token.TokenValidator
quinn's default Retry token lifetime, 15 seconds.
DEFAULT_VALIDATION_TOKEN_LIFETIME - Static variable in class io.github.mahmoudimus.quic.token.TokenValidator
quinn's default NEW_TOKEN token lifetime, two weeks.
defaultBounds() - Static method in interface org.microproxy.stats.Histogram
Returns a copy of Envoy's default bucket bounds, in milliseconds.
defaultFactory() - Static method in interface io.github.mahmoudimus.quic.congestion.ControllerFactory
The default, CUBIC with its default configuration, as quinn uses.
DefaultFullHttpRequest - Class in org.microproxy.http
A complete request with its body.
DefaultFullHttpRequest(HttpVersion, HttpMethod, String) - Constructor for class org.microproxy.http.DefaultFullHttpRequest
Creates a complete request with empty headers and an empty body.
DefaultFullHttpRequest(HttpVersion, HttpMethod, String, byte[]) - Constructor for class org.microproxy.http.DefaultFullHttpRequest
Creates a complete request with empty headers.
DefaultFullHttpRequest(HttpVersion, HttpMethod, String, String) - Constructor for class org.microproxy.http.DefaultFullHttpRequest
Creates a complete request with a UTF-8 body and empty headers.
DefaultFullHttpRequest(HttpVersion, HttpMethod, String, HttpHeaders, byte[]) - Constructor for class org.microproxy.http.DefaultFullHttpRequest
Creates a complete request using the supplied headers and body.
DefaultFullHttpResponse - Class in org.microproxy.http
A complete response with its body.
DefaultFullHttpResponse(HttpVersion, HttpResponseStatus) - Constructor for class org.microproxy.http.DefaultFullHttpResponse
Creates a complete response with empty headers and an empty body.
DefaultFullHttpResponse(HttpVersion, HttpResponseStatus, byte[]) - Constructor for class org.microproxy.http.DefaultFullHttpResponse
Creates a complete response with empty headers.
DefaultFullHttpResponse(HttpVersion, HttpResponseStatus, String) - Constructor for class org.microproxy.http.DefaultFullHttpResponse
Creates a complete response with a UTF-8 body and empty headers.
DefaultFullHttpResponse(HttpVersion, HttpResponseStatus, HttpHeaders, byte[]) - Constructor for class org.microproxy.http.DefaultFullHttpResponse
Creates a complete response using the supplied headers and body.
DefaultHostResolver - Class in org.microproxy
Resolves host names with InetAddress.getByName(java.lang.String).
DefaultHostResolver() - Constructor for class org.microproxy.DefaultHostResolver
Creates a resolver using the JDK host-name lookup facilities.
DefaultHttpContent - Class in org.microproxy.http
A piece of message body.
DefaultHttpContent(byte[]) - Constructor for class org.microproxy.http.DefaultHttpContent
Creates a body piece backed by the supplied array.
DefaultHttpRequest - Class in org.microproxy.http
Mutable HttpRequest head.
DefaultHttpRequest(HttpVersion, HttpMethod, String) - Constructor for class org.microproxy.http.DefaultHttpRequest
Creates a request with empty headers.
DefaultHttpRequest(HttpVersion, HttpMethod, String, HttpHeaders) - Constructor for class org.microproxy.http.DefaultHttpRequest
Creates a request head using the supplied headers.
DefaultHttpResponse - Class in org.microproxy.http
Mutable HttpResponse head.
DefaultHttpResponse(HttpVersion, HttpResponseStatus) - Constructor for class org.microproxy.http.DefaultHttpResponse
Creates a response with empty headers.
DefaultHttpResponse(HttpVersion, HttpResponseStatus, HttpHeaders) - Constructor for class org.microproxy.http.DefaultHttpResponse
Creates a response head using the supplied headers.
DefaultLastHttpContent - Class in org.microproxy.http
The last piece of a message body, with optional trailers.
DefaultLastHttpContent() - Constructor for class org.microproxy.http.DefaultLastHttpContent
Creates an empty last-content marker with no trailers.
DefaultLastHttpContent(byte[]) - Constructor for class org.microproxy.http.DefaultLastHttpContent
Creates a final body piece with no trailers.
DefaultLastHttpContent(byte[], HttpHeaders) - Constructor for class org.microproxy.http.DefaultLastHttpContent
Creates a final body piece with the supplied trailers.
defaults() - Static method in class io.github.mahmoudimus.quic.connection.EndpointConfig
The default settings: random 8-byte connection IDs that never expire, a random reset key, QUIC version 1 and version 2, at most one stateless reset per 20 ms.
defaults() - Static method in class io.github.mahmoudimus.quic.connection.TransportConfig
The default settings.
defaults() - Static method in record class io.github.mahmoudimus.quic.params.TransportParameters
The parameters a peer is assumed to have when it sends none: all defaults.
defaults() - Static method in class org.microproxy.contentviews.ContentViews
Returns the default views, decoding protobuf without a schema.
defaults() - Static method in class org.microproxy.ProtocolPolicy
MicroProxy's defaults, every field set (but the HTTP/1-only ProtocolPolicy.allowChunkedLength(), which HttpProxyServerBootstrap.withAllowChunkedLength(boolean) decides): ProtocolPolicy.resolveBeforeProxyToServerRequest(): false, so HttpFilters.proxyToServerRequest(org.microproxy.http.HttpObject) can answer or redirect a request without a DNS lookup; ProtocolPolicy.filterConnectAnswer(): true, so response filters see the 200 that opens a CONNECT tunnel and can turn it into a refusal; ProtocolPolicy.servePlainHttpAfterConnect(): true, so plain HTTP sent after a CONNECT that could be intercepted (a ws:// WebSocket, say) is served as HTTP, its requests seen by filters; ProtocolPolicy.proxyProtocolDestination(): ProxyProtocolDestination.LOCAL_ADDRESS; ProtocolPolicy.tlsRetryWithoutSni(): false; ProtocolPolicy.requestHeadTimeout(): 30 seconds for HTTP/1 request heads, with zero disabling the deadline; ProtocolPolicy.generatedResponses(): GeneratedResponses.REPLACEABLE, so a filter can brand the proxy's own responses; ProtocolPolicy.mitmServerHandshake(): MitmServerHandshake.DEFERRED, so the server's handshake can mirror the client's ClientHello.
defaults() - Static method in class org.microproxy.quic.QuicFraming
Returns the default framing: doq=u16, with the default limit and error code.
DEFERRED - Enum constant in enum class org.microproxy.MitmServerHandshake
The CONNECT is answered once the proxy is connected to the server (or through a chained proxy's tunnel), and the server's handshake waits for the client's ClientHello, so that it can mirror it: the protocols the client offers by ALPN, and the server name it sends when the CONNECT named an IP address.
defines(String) - Method in class org.microproxy.starlark.StarlarkScript
Whether the script defines a function function.
definesAuthenticate() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script in use defines authenticate, so this can be the authenticator.
definesFrameHook() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script in use defines on_frame, so ScriptedProxy.frameInterceptor() is worth installing.
definesQuicFramer() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script in use defines quic_message_length, a framer of its own for ScriptedProxy.quicFramer().
definesQuicHooks() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script in use defines on_quic_start, on_quic_stream_data, on_quic_message, on_quic_datagram or on_quic_end, so ScriptedProxy.quicInterceptor() is worth installing.
definesTcpHooks() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script in use defines on_tcp_start, on_tcp_message or on_tcp_end, so ScriptedProxy.tcpInterceptor() is worth installing.
definesUdpHooks() - Method in class org.microproxy.starlark.ScriptedProxy
Whether the script in use defines on_udp_start, on_udp_message or on_udp_end, so ScriptedProxy.udpInterceptor() is worth installing.
delay(int) - Method in class org.microproxy.RetryBackoff
The wait before the attempt that follows failedAttempts failed ones, drawing the jitter (if any) from a ThreadLocalRandom.
delay(int, RandomGenerator) - Method in class org.microproxy.RetryBackoff
The wait before the attempt that follows failedAttempts failed ones.
delay(long, long, int, long, long) - Method in class io.github.mahmoudimus.quic.connection.Pacer
When the next packet may be sent.
DELAY_INJECTED - Enum constant in enum class org.microproxy.ResponseFlag
DI: the request was delayed on purpose.
DELETE - Static variable in class org.microproxy.http.HttpMethod
The DELETE request method.
Deliver(Connection) - Constructor for record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Deliver
Creates an instance of a Deliver record class.
delivered() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns the value of the delivered record component.
delivered() - Method in class io.github.mahmoudimus.quic.connection.DeliveryRate
The bytes delivered on the connection so far.
delivered() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The bytes the connection had delivered when this packet was sent (P.delivered).
deliveredTime() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
When the connection's delivered count last changed before this packet was sent ( P.delivered_time).
deliveryRate() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns the value of the deliveryRate record component.
deliveryRate() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The delivery rate sampler of the connection's congestion-controlled packets.
DeliveryRate - Class in io.github.mahmoudimus.quic.connection
Delivery rate estimation as draft-cheng-iccrg-delivery-rate-estimation describes it, the sampler BBR is built on.
DeliveryRate() - Constructor for class io.github.mahmoudimus.quic.connection.DeliveryRate
A sampler for a connection that has delivered nothing yet.
derive(byte[], ConnectionId) - Static method in class io.github.mahmoudimus.quic.StatelessResetToken
Derives the token for a connection ID from a static key, as quinn does: the first 16 bytes of HMAC-SHA256(key, connection ID).
descending() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The ranges in descending order, as ACK frames list them.
describeHeader(String, String) - Method in class org.microproxy.contentviews.ContentViews
What a header or trailer field means, for the fields gRPC defines: the name of a grpc-status code, the text of a percent-encoded grpc-message, and the message in a binary (-bin) field, grpc-status-details-bin as a google.rpc.Status.
description() - Method in interface org.microproxy.otel.Sampler
Returns a description, such as ParentBased{root:TraceIdRatioBased{0.25}}.
description() - Method in class org.microproxy.otel.Telemetry
Returns what this telemetry exports, and where.
description() - Method in interface org.microproxy.simd.Simd.Ops
Returns a short description, such as scalar or vector 256-bit.
destination() - Method in record class io.github.mahmoudimus.quic.connection.Transmit
Returns the value of the destination record component.
destinationId() - Method in interface io.github.mahmoudimus.quic.packet.PacketHeader
The Destination Connection ID.
destinationId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns the value of the destinationId record component.
destinationId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns the value of the destinationId record component.
destinationId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
Returns the value of the destinationId record component.
destinationId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns the value of the destinationId record component.
destinationId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
Returns the value of the destinationId record component.
destinationId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns the value of the destinationId record component.
destinationId() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The Destination Connection ID.
destinationId() - Method in exception class io.github.mahmoudimus.quic.packet.UnsupportedVersionException
The packet's Destination Connection ID.
Detail(String, byte[]) - Constructor for record class org.microproxy.contentviews.Grpc.Detail
Wraps a detail.
details() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns the value of the details record component.
detectEcn(long, Frame.EcnCounts) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Validates an ACK's ECN counts (RFC 9000 section 13.4.2.1) and records them.
dictionary(ZstdDictionary) - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor.Builder
Makes a dictionary available to frames that name its ID.
digest() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Computes the hash of bytes fed so far without changing this object.
digest() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Computes the HMAC of bytes fed so far without changing this object.
digestSize() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Returns the size of this hash result.
digestSize() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Returns the size of this HMAC result.
dir() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Available
Returns the value of the dir record component.
dir() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Opened
Returns the value of the dir record component.
dir() - Method in record class io.github.mahmoudimus.quic.connection.StreamId
The stream's directionality.
Dir - Enum Class in io.github.mahmoudimus.quic.connection
Whether a stream carries data in both directions or only from its initiator (RFC 9000 section 2.1).
direction(FrameDirection) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
Whose frames these are, as the interceptor is told: FrameDirection.FROM_CLIENT or FrameDirection.TO_SERVER for a client's (requests), FrameDirection.FROM_SERVER or FrameDirection.TO_CLIENT for a server's (responses).
DirectionalKeys - Record Class in io.github.mahmoudimus.quic.crypto
The keys that protect packets in one direction at one encryption level: a header protection key and a packet (payload) key.
DirectionalKeys(HeaderKey, PacketKey) - Constructor for record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Keys from their parts.
disableActiveMigration() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the disableActiveMigration record component.
disableActiveMigration(boolean) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets disable_active_migration.
disabled() - Static method in class io.github.mahmoudimus.quic.connection.PacketNumberFilter
A filter that never skips, for tests.
disabled(int, int) - Static method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Disabled discovery: the MTU stays fixed, except that a black hole still lowers it to the minimum.
discard() - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Releases all data while keeping the final offset, for RESET_STREAM.
discardSpace(long, SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Discards the Initial or Handshake space once its keys are no longer needed (RFC 9001 section 4.9, RFC 9002 section 6.4): its keys, sent packets and in-flight bytes are dropped, and the PTO backoff restarts.
discardZeroRttPackets(long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Forgets the packets sent in the application data space without counting them lost, after the server rejected 0-RTT: it never processed them (quinn's handling of rejected 0-RTT).
disconnected() - Method in interface org.microproxy.ChainedProxy
Called when the upstream proxy connection closes.
DiskCacheStore - Class in org.microproxy.cache
Keeps responses as files in a directory, so the cache survives restarts (and can serve while offline).
DiskCacheStore(Path, long) - Constructor for class org.microproxy.cache.DiskCacheStore
Opens (creating if needed) a store in dir, indexing the entries already there.
dns() - Method in class org.microproxy.quic.QuicMessage
The payload as a DNS message, as DNS over QUIC (doq) carries them.
DNS_RESOLUTION_FAILED - Enum constant in enum class org.microproxy.ResponseFlag
DF: the server's name did not resolve.
dnsClass() - Method in record class org.microproxy.dns.DnsMessage.Question
Returns the value of the dnsClass record component.
dnsClass() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns the value of the dnsClass record component.
dnsEndNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the dnsEndNanos record component.
dnsLookup() - Method in record class org.microproxy.FlowTimings
How long resolving the server's name took.
DnsMessage - Class in org.microproxy.dns
A DNS message (RFC 1035 section 4.1): its header, questions and resource records, decoded from the wire format and encoded back.
DnsMessage.Address - Record Class in org.microproxy.dns
An address, the data of A (IPv4) and AAAA (IPv6) records.
DnsMessage.Mx - Record Class in org.microproxy.dns
The data of an MX record.
DnsMessage.Name - Record Class in org.microproxy.dns
A domain name, the data of NS, CNAME, PTR and DNAME records.
DnsMessage.Opaque - Record Class in org.microproxy.dns
RDATA of a type without a typed view, kept as bytes.
DnsMessage.Question - Record Class in org.microproxy.dns
A question: the name, type and class asked about.
DnsMessage.Rdata - Interface in org.microproxy.dns
The RDATA of a record, read as its type.
DnsMessage.ResourceRecord - Record Class in org.microproxy.dns
A resource record.
DnsMessage.Soa - Record Class in org.microproxy.dns
The data of an SOA record.
DnsMessage.Srv - Record Class in org.microproxy.dns
The data of an SRV record (RFC 2782).
DnsMessage.Txt - Record Class in org.microproxy.dns
The data of a TXT record: its character strings, read as UTF-8 (use DnsMessage.ResourceRecord.rdata() for strings of other bytes).
DnssecHostResolver - Class in org.microproxy.dns
A HostResolver that validates answers with DNSSEC, the replacement for LittleProxy's dnssec4j-based DnsSecServerResolver.
DnssecHostResolver() - Constructor for class org.microproxy.dns.DnssecHostResolver
Uses the system's resolvers, the IANA root anchors and DnssecHostResolver.Policy.REJECT_BOGUS.
DnssecHostResolver.Builder - Class in org.microproxy.dns
Configures a DnssecHostResolver.
DnssecHostResolver.Policy - Enum Class in org.microproxy.dns
What to accept.
DnssecHostResolver.Resolution - Record Class in org.microproxy.dns
The result of a lookup.
DnssecValidationException - Exception Class in org.microproxy.dns
DNS data failed DNSSEC validation ("bogus"): a signature did not verify, a chain of trust was broken, or signed data was missing its signatures or denial proofs.
DnssecValidationException(String) - Constructor for exception class org.microproxy.dns.DnssecValidationException
Creates a DNSSEC validation error with a diagnostic message.
dnsStartNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the dnsStartNanos record component.
DnsTransport - Interface in org.microproxy.dns
Sends a DNS query message to a recursive resolver and returns the raw response.
dogStatsd(boolean) - Method in class org.microproxy.stats.StatsdSink.Builder
Whether to send DogStatsD tags (|#name:value,...) with the tag-extracted names (default false: plain statsd, flat names).
DOUBLE - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
double: fixed64 on the wire.
DOWNSTREAM_CONNECTION_TERMINATION - Enum constant in enum class org.microproxy.ResponseFlag
DC: the client went away before the response was complete.
DOWNSTREAM_PROTOCOL_ERROR - Enum constant in enum class org.microproxy.ResponseFlag
DPE: the client's request was malformed, refused as such, or too large.
DOWNSTREAM_REMOTE_RESET - Enum constant in enum class org.microproxy.ResponseFlag
DR: the client reset its HTTP/2 or HTTP/3 stream.
downstreamLocalAddress() - Method in class org.microproxy.FlowRecord
Returns the proxy's local address on the client connection, or null.
downstreamLocalAddress(InetSocketAddress) - Method in class org.microproxy.FlowRecord.Builder
Sets the proxy's local address on the client connection.
drain(Duration) - Method in interface org.microproxy.HttpProxyServer
Drains the proxy, as Envoy's graceful listener drain does, and returns when the drain is over.
DRAIN - Enum constant in enum class io.github.mahmoudimus.quic.congestion.Bbr.Mode
After STARTUP found the bandwidth, a lower pacing rate drains the queue it built.
Drained() - Constructor for record class io.github.mahmoudimus.quic.connection.EndpointEvent.Drained
Creates an instance of a Drained record class.
DRAINING - Enum constant in enum class org.microproxy.ServerState
Draining (HttpProxyServer.drain(java.time.Duration)), no longer accepting (HttpProxyServer.stopListeners()), or stopping: not ready for new traffic.
DrainStrategy - Enum Class in org.microproxy
How a draining proxy (HttpProxyServer.drain(java.time.Duration)) tells its clients to go elsewhere, as Envoy's --drain-strategy: each new request may be answered with Connection: close (HTTP/1) or make the proxy send GOAWAY (HTTP/2, HTTP/3) on its connection.
DROP_OVERLOAD - Enum constant in enum class org.microproxy.ResponseFlag
DO: the request was dropped under overload.
droppedDatagrams() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the droppedDatagrams record component.
dumps(Object, Object, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.JsonModule
Encodes a value using Python-style optional indentation.
duplicate(long) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Re-inserts an existing entry with a Duplicate instruction (§4.3.4), so that sections can reference a fresh copy while the old one becomes evictable.
duration() - Method in class org.microproxy.FlowRecord
How long the exchange or flow lasted: for HTTP, from the first byte of the request to the last byte of the response (or until it was abandoned); for a tunnel or a flow, until it closed.
duration(AccessLogFilter.Comparison, long) - Static method in interface org.microproxy.extras.AccessLogFilter
Compares the duration of the exchange or flow, in milliseconds, with millis.
DURATION_TIMEOUT - Enum constant in enum class org.microproxy.ResponseFlag
DT: the request exceeded its maximum duration.
durationNanos() - Method in class org.microproxy.FlowRecord
Returns the duration in nanoseconds, or -1 when unknown.
dynamicTableCapacity() - Method in class io.github.mahmoudimus.http2.HpackDecoder
The current maximum size of the dynamic table, as last set by the peer's encoder.
dynamicTableCapacity() - Method in class io.github.mahmoudimus.http2.HpackEncoder
Returns the current dynamic table capacity.
dynamicTableCapacity() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The current capacity of the dynamic table, as last set by the peer's encoder.
dynamicTableCapacity() - Method in class io.github.mahmoudimus.http3.QpackEncoder
The current capacity of the dynamic table.
dynamicTableEntry(int) - Method in class io.github.mahmoudimus.http2.HpackDecoder
A dynamic table entry, 1 being the newest (HPACK index 62).
dynamicTableEntry(int) - Method in class io.github.mahmoudimus.http2.HpackEncoder
A dynamic table entry, 1 being the newest.
dynamicTableEntry(long) - Method in class io.github.mahmoudimus.http3.QpackDecoder
The dynamic table entry with this absolute index (0 is the first ever inserted), or null if absent.
dynamicTableEntry(long) - Method in class io.github.mahmoudimus.http3.QpackEncoder
The dynamic table entry with this absolute index, or null if absent.
dynamicTableLength() - Method in class io.github.mahmoudimus.http2.HpackDecoder
The number of entries in the dynamic table.
dynamicTableLength() - Method in class io.github.mahmoudimus.http2.HpackEncoder
Returns the number of dynamic table entries.
dynamicTableLength() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The number of entries in the dynamic table.
dynamicTableLength() - Method in class io.github.mahmoudimus.http3.QpackEncoder
The number of entries in the dynamic table.
dynamicTableSize() - Method in class io.github.mahmoudimus.http2.HpackDecoder
The current size of the dynamic table in octets (entries plus 32 each).
dynamicTableSize() - Method in class io.github.mahmoudimus.http2.HpackEncoder
The current size of the dynamic table in octets.
dynamicTableSize() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The current size of the dynamic table in octets (entries plus 32 each).
dynamicTableSize() - Method in class io.github.mahmoudimus.http3.QpackEncoder
The current size of the dynamic table in octets (entries plus 32 each).

E

EAGER - Enum constant in enum class org.microproxy.MitmServerHandshake
The proxy connects and runs the server's handshake before it answers the CONNECT, as LittleProxy does: its ProxyToServerConnection.initializeConnectionFlow runs the server's EncryptChannel step before RespondCONNECTSuccessful, so that its MitmManager.clientSslEngineFor(HttpRequest, SSLSession) has the server's session to make the client's certificate from.
earlyData() - Method in class io.github.mahmoudimus.quic.tls.TlsConfig
Whether 0-RTT is enabled: offered by a client, allowed and accepted by a server.
earlyData(boolean) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Turns 0-RTT on or off (off by default).
earlyDataAccepted() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the server accepted 0-RTT data.
earlyDataAccepted() - Method in class io.github.mahmoudimus.quic.QuicConnection
Whether the server accepted 0-RTT data: on a client, known once the handshake completes; on a server, from the start.
EarlyDataAttempt - Record Class in io.github.mahmoudimus.quic.tls
A resuming client's offer of 0-RTT data, as an EarlyDataPolicy sees it.
EarlyDataAttempt(String, String, byte[], Instant, Duration, Duration) - Constructor for record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
An attempt.
earlyDataPolicy(EarlyDataPolicy) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: decides whether to accept 0-RTT data the protocol allows.
EarlyDataPolicy - Interface in io.github.mahmoudimus.quic.tls
Decides, on a server, whether to accept the 0-RTT data a resuming client offers.
ECDSA_SECP256R1_SHA256 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
ECDSA on P-256 with SHA-256.
ECDSA_SECP384R1_SHA384 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
ECDSA on P-384 with SHA-384.
ecn() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Returns the value of the ecn record component.
ecnCounters() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The ECN counts to report in ACK frames.
EcnCounts(long, long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
ECN counts.
ect0() - Method in record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
Returns the value of the ect0 record component.
ect1() - Method in record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
Returns the value of the ect1 record component.
ED25519 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
Ed25519 (RFC 8032).
elements() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Every value, in ascending order.
elements() - Method in record class org.microproxy.contentviews.ProtoValue.Packed
Returns the value of the elements record component.
ELF - Enum constant in enum class org.microproxy.extras.LogFormat
NCSA Combined (extended) format: CLF plus "%REQ(REFERER)%" "%REQ(USER-AGENT)%".
empty() - Static method in class org.microproxy.contentviews.ProtoSchema
Returns a schema with only the well-known types.
empty() - Static method in interface org.microproxy.http.LastHttpContent
Returns a new, empty last-content marker with no trailer fields.
empty() - Static method in class org.microproxy.ProtocolPolicy
A policy that sets nothing: every field is left to what applies below it.
EMPTY - Static variable in class io.github.mahmoudimus.quic.ConnectionId
The zero-length connection ID.
ENABLE_CONNECT_PROTOCOL - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
RFC 8441: extended CONNECT (including WebSockets).
ENABLE_CONNECT_PROTOCOL - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
 
ENABLE_PUSH - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The SETTINGS_ENABLE_PUSH identifier.
enableConnectProtocol() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the enableConnectProtocol record component.
enableConnectProtocol() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns the value of the enableConnectProtocol record component.
enableConnectProtocol(boolean) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets extended CONNECT permission.
enableConnectProtocol(boolean) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Sets SETTINGS_ENABLE_CONNECT_PROTOCOL.
enabled() - Method in class org.microproxy.stats.StatsRegistry
Returns whether this registry keeps metrics; false only for StatsRegistry.NOOP.
enabled(boolean) - Method in class org.microproxy.otel.Telemetry.Builder
Turns everything on (the default) or off; off, Telemetry.install(org.microproxy.HttpProxyServerBootstrap) changes nothing.
enabled(int, int, int, MtuDiscoveryConfig) - Static method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Enabled discovery.
enablePush() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the enablePush record component.
enablePush(boolean) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets server push permission.
encode() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Encodes the parameters, in ID order with unknown parameters last.
encode() - Method in class org.microproxy.dns.DnsMessage
Encodes the message, compressing the questions' and records' owner names.
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Address
 
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Mx
 
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Name
 
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Opaque
 
encode(int) - Method in interface org.microproxy.dns.DnsMessage.Rdata
The RDATA for a record of type.
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Soa
 
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Srv
 
encode(int) - Method in record class org.microproxy.dns.DnsMessage.Txt
 
encode(long) - Static method in class io.github.mahmoudimus.http3.Http3StreamType
The bytes that open a unidirectional stream of this type.
encode(long) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
The shortest encoding of value.
encode(long) - Static method in class io.github.mahmoudimus.quic.VarInt
The shortest encoding of a value.
encode(long, List<HeaderField>) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Encodes one field section for a HEADERS or PUSH_PROMISE frame on the given stream, queuing any encoder-stream instructions it needs.
encode(Http3Frame) - Static method in class io.github.mahmoudimus.http3.Http3FrameWriter
The bytes of one frame.
encode(Http3Frame, ByteBuffer) - Static method in class io.github.mahmoudimus.http3.Http3FrameWriter
Puts the bytes of one frame at the buffer's position.
encode(TokenKey) - Method in class io.github.mahmoudimus.quic.token.Token
Encodes and seals the token.
encode(Object, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.JsonModule
Encodes a value as compact JSON with sorted object keys.
encode(String, byte[]) - Static method in class org.microproxy.http.HttpBodies
Applies one content coding to data: gzip (or x-gzip), deflate (zlib-wrapped) or br (at HttpBodies.BROTLI_QUALITY), the codings this class can produce.
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
 
encode(ByteBuffer) - Method in interface io.github.mahmoudimus.quic.frame.Frame
Writes the frame at the buffer's position.
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
 
encode(ByteBuffer) - Method in interface io.github.mahmoudimus.quic.packet.PacketHeader
Writes the header at the buffer's position.
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
 
encode(ByteBuffer) - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Encodes the parameters at the buffer's position.
encode(ByteBuffer, boolean) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
Writes the frame, with the Length field or, when it ends the packet, without.
encode(ByteBuffer, int) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
Writes the frame, truncating the reason phrase to fit a byte budget.
encode(ByteBuffer, int) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
Writes the frame, truncating the reason phrase to fit a byte budget, as quinn does.
encode(ByteBuffer, long, long, ByteBuffer, boolean, int) - Static method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Writes as much stream data as fits a byte budget in one STREAM frame, as quinn's write_stream_frames does.
encode(ByteBuffer, long, ByteBuffer, int) - Static method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
Writes as much of the data as fits a byte budget in one CRYPTO frame, with an exact Length field, as quinn fills packets with handshake data.
encode(List<HeaderField>) - Method in class io.github.mahmoudimus.http2.HpackEncoder
Encodes one field section into a field block.
encode(List<HeaderField>, ByteArrayOutputStream) - Method in class io.github.mahmoudimus.http2.HpackEncoder
Encodes one field section, appending the field block to out.
encode(List<String>) - Static method in class io.github.mahmoudimus.http2.OriginFrame
Builds an ORIGIN frame's payload.
encode(Map<?, ?>) - Static method in class org.microproxy.contentviews.Protobuf
Encodes plain values, as Protobuf.toPlain(org.microproxy.contentviews.ProtoMessage) makes them, without a schema.
encode(Map<?, ?>, ProtoSchema, String) - Static method in class org.microproxy.contentviews.Protobuf
Encodes plain values as messageType: keys may be field names, and values are encoded as their fields are declared (enum values may be names, sint fields are zigzag-encoded, packed fields packed, map fields from maps).
encode(ProtoMessage) - Static method in class org.microproxy.contentviews.Protobuf
Encodes a message, field by field in its order.
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
 
encodedLength() - Method in interface io.github.mahmoudimus.quic.frame.Frame
The encoded length.
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
 
encodedLength() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
The encoded length.
encodedLength(boolean) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
The encoded length with or without the Length field.
encodedLength(long, long) - Static method in class io.github.mahmoudimus.quic.packet.PacketNumber
The number of bytes needed to send a packet number so that the peer recovers it: enough to represent twice the distance from the largest acknowledged packet (RFC 9000 appendix A.2).
encodeHeader(boolean, ByteBuffer) - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Writes the STREAM frame header (RFC 9000 section 19.8); the data follows.
encodeIndent(Object, String, String, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.JsonModule
Encodes a value as JSON and formats it with indentation.
encodeLength() - Method in record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Returns the value of the encodeLength record component.
encoderStream(InputStream) - Method in class org.microproxy.frames.Http3FramePipeline
Reads the sender's QPACK encoder stream, from its stream type (0x02) until its end, so that field sections that use the dynamic table can be decoded.
encoderStreamBytes() - Method in class io.github.mahmoudimus.http3.QpackEncoder
Takes the encoder-stream instructions produced so far; send them on the QPACK encoder stream before, or together with, the sections that depend on them.
encrypt(byte[]) - Method in class io.github.mahmoudimus.quic.tls.Ticketer
Seals session state into a ticket under the current key.
EncryptionLevel - Enum Class in io.github.mahmoudimus.quic
The four QUIC encryption levels (RFC 9001 section 4), each with its own keys.
end() - Method in class io.github.mahmoudimus.quic.connection.Assembler
One past the highest offset received.
end() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
The stream offset just past the chunk.
end() - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Returns the value of the end record component.
end() - Method in record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Returns the value of the end record component.
end() - Method in record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Returns the value of the end record component.
end() - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Returns the value of the end record component.
end() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The index just past this packet in the datagram buffer.
end(String) - Method in interface org.microproxy.FlowTrace.Span
Ends the span, now; later calls do nothing.
endHeaders() - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
Returns the value of the endHeaders record component.
endHeaders() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns the value of the endHeaders record component.
endHeaders() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns the value of the endHeaders record component.
endpoint(String) - Method in class org.microproxy.otel.Telemetry.Builder
The collector's OTLP/HTTP base URL; each signal goes to <endpoint>/v1/<signal>.
Endpoint - Class in io.github.mahmoudimus.quic.connection
The connections of one UDP socket, as a sans-I/O state machine after quinn-proto's Endpoint: it routes incoming datagrams to connections by Destination Connection ID, whatever address they come from, so that a connection follows a peer that migrates (or by the peer's address when local IDs are zero-length, which rules migration out), creates server connections from Initial packets, and answers what no connection should see: Version Negotiation for unknown versions, Retry for address validation, stateless resets for unknown connection IDs, and CONNECTION_CLOSE for refused attempts.
Endpoint(EndpointConfig, ServerConfig, boolean) - Constructor for class io.github.mahmoudimus.quic.connection.Endpoint
An endpoint.
Endpoint.DatagramEvent - Interface in io.github.mahmoudimus.quic.connection
What to do with a datagram.
Endpoint.DatagramEvent.Deliver - Record Class in io.github.mahmoudimus.quic.connection
Endpoint.DatagramEvent.NewConnection - Record Class in io.github.mahmoudimus.quic.connection
A client's first Initial created a server connection: start driving it, then pass it the datagram.
Endpoint.DatagramEvent.Response - Record Class in io.github.mahmoudimus.quic.connection
Send this datagram back to the datagram's sender (Version Negotiation, Retry, stateless reset or CONNECTION_CLOSE).
EndpointConfig - Class in io.github.mahmoudimus.quic.connection
Settings shared by every connection of an endpoint: how local connection IDs are made, the key stateless reset tokens derive from, the QUIC versions accepted, and the stateless reset rate limit.
EndpointConfig.Builder - Class in io.github.mahmoudimus.quic.connection
Builds an EndpointConfig.
EndpointEvent - Interface in io.github.mahmoudimus.quic.connection
What a Connection tells its Endpoint, through Connection.pollEndpointEvent(): routing changes.
EndpointEvent.CidIssued - Record Class in io.github.mahmoudimus.quic.connection
The connection issued a local connection ID; packets for it must reach the connection.
EndpointEvent.CidRetired - Record Class in io.github.mahmoudimus.quic.connection
The peer retired a local connection ID; it no longer routes to the connection.
EndpointEvent.Drained - Record Class in io.github.mahmoudimus.quic.connection
The connection is gone and holds no state the endpoint must keep; this is the last event.
EndpointEvent.ResetToken - Record Class in io.github.mahmoudimus.quic.connection
The peer's current stateless reset token, which lets a reset with a random connection ID reach the connection.
endpointStats() - Method in class io.github.mahmoudimus.quic.QuicClient
What the endpoint answered itself, without a connection: Version Negotiation, Retry, stateless resets and refusals.
endpointStats() - Method in class io.github.mahmoudimus.quic.QuicServer
What the endpoint answered itself, without a connection: Version Negotiation, Retry, stateless resets and refusals.
EndpointStats - Record Class in io.github.mahmoudimus.quic
What a QUIC endpoint answered itself, without a connection: from QuicServer.endpointStats() and QuicClient.endpointStats().
EndpointStats(long, long, long, long) - Constructor for record class io.github.mahmoudimus.quic.EndpointStats
Creates an instance of a EndpointStats record class.
endStream() - Method in record class io.github.mahmoudimus.http2.Frame.Data
Returns the value of the endStream record component.
endStream() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns the value of the endStream record component.
endStream() - Method in record class org.microproxy.frames.Http2Frame.Data
Returns the value of the endStream record component.
endStream() - Method in record class org.microproxy.frames.Http2Frame.Headers
Returns the value of the endStream record component.
ENHANCE_YOUR_CALM - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The peer is generating excessive load.
ensureOrdering(boolean) - Method in class io.github.mahmoudimus.quic.connection.Assembler
Selects ordered or unordered reads.
entries() - Method in class org.microproxy.http.HttpHeaders
All fields as (name, value) pairs in order.
ENTRY_OVERHEAD - Static variable in record class io.github.mahmoudimus.http2.HeaderField
The per-entry overhead HPACK adds to the octet lengths of name and value (RFC 7541 §4.1).
ENTRY_OVERHEAD - Static variable in record class io.github.mahmoudimus.http3.HeaderField
The per-entry overhead QPACK adds to the octet lengths of name and value (RFC 9204 §3.2.1).
ENUM - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
An enum: varint.
enums() - Method in class org.microproxy.contentviews.ProtoSchema
Returns the enum types, by full name.
enumType(int) - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
The enum type of an enum field.
enumType(String) - Method in class org.microproxy.contentviews.ProtoSchema
The enum type named fullName.
EnumType(String, Map<Integer, String>) - Constructor for record class org.microproxy.contentviews.ProtoSchema.EnumType
Copies the values.
ENVIRONMENT - Static variable in class org.microproxy.starlark.stdlib.Stdlib
The predeclared environment of library modules (and of starlarky's tests): Larky's globals (_struct, _mutablestruct, _partial, ...), Python builtins that replace Starlark's (bytes, int, iter, next, getattr, ...), and the class model (object, type, super, classmethod, staticmethod).
envoy(String) - Static method in class org.microproxy.extras.AccessLogFormat
Parses an Envoy format string.
envoy(String) - Static method in enum class org.microproxy.extras.LogFormat
A custom format: an Envoy format string (see AccessLogFormat.envoy(java.lang.String)).
ENVOY - Enum constant in enum class org.microproxy.extras.LogFormat
Envoy's default format (AccessLogFormat.ENVOY_DEFAULT).
ENVOY_DEFAULT - Static variable in class org.microproxy.extras.AccessLogFormat
Envoy's default access-log format.
envoyDefaults() - Static method in class org.microproxy.stats.TagExtractor
Returns the rules for the tags Envoy gives MicroProxy's stats (see the class documentation).
envoyJson(String) - Static method in class org.microproxy.extras.AccessLogFormat
AccessLogFormat.envoyJson(Map) from the JSON text of the dictionary, as the command line passes it: {"status":"%RESPONSE_CODE%","path":"%REQ(:PATH)%"}.
envoyJson(Map<String, ?>) - Static method in class org.microproxy.extras.AccessLogFormat
A JSON format: one JSON object per line, whose keys are those of dictionary (in its iteration order) and whose values are rendered from its values: a format string, a nested map, or a number, boolean or null written as it is.
envoyJson(Map<String, ?>) - Static method in enum class org.microproxy.extras.LogFormat
A custom JSON format: keys and the format strings of their values (see AccessLogFormat.envoyJson(Map)).
EQ - Enum constant in enum class org.microproxy.extras.AccessLogFilter.Comparison
Equal.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Data
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Ping
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Priority
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Settings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Frame.WindowUpdate
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.HeaderField
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.Http2Settings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.HeaderField
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.CancelPush
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.Data
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.GoAway
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.Headers
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.MaxPushId
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.Settings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.Http3Settings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.congestion.BbrConfig
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.congestion.CubicConfig
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.Chunk
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Connected
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.ConnectionLost
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.DatagramReceived
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeConfirmed
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeDataReady
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathProbeFailed
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathUpdated
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Stream
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Deliver
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.NewConnection
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Response
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidIssued
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidRetired
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.Drained
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.ResetToken
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.IssuedCid
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.LocalCidState.Retirement
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
 
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.Retransmits.PendingReset
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.SessionCache
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Available
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Finished
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Opened
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Readable
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Stopped
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Writable
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamId
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.StreamsState.Written
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.connection.Transmit
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class io.github.mahmoudimus.quic.ConnectionId
 
equals(Object) - Method in record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.crypto.Keys
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.EndpointStats
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckRange
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.Packet
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.params.UnknownParameter
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.params.VersionInformation
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.Secrets
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class io.github.mahmoudimus.quic.StatelessResetToken
Compares in constant time.
equals(Object) - Method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.token.IncomingToken
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Validation
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.AuthResult.Accepted
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.AuthResult.Rejected
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.cache.HttpCache.Stats
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ClientHello
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ContentView.Metadata
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ContentViews.Rendered
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.Grpc.Detail
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.Grpc.Frame
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.Grpc.Status
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoField
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoMessage
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoSchema.EnumType
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Bytes
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Group
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Message
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Packed
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Text
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.contentviews.ProtoValue.Varint
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Address
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Mx
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Name
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Opaque
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Question
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Soa
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Srv
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnsMessage.Txt
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.dns.DnssecHostResolver.Resolution
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.BlockList.Rule
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.ClientReplay.Result
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.MapLocal.Rule
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.MapRemote.Rule
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.RecordedExchange
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.extras.ServerReplay.Extra
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class org.microproxy.FlowContext
Contexts are equal when they belong to the same client connection and the same HTTP/2 or HTTP/3 stream (none for HTTP/1), so maps keyed by context keep one entry per exchange in progress.
equals(Object) - Method in record class org.microproxy.FlowTimings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Field
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.Data
Compares the content, not the array's identity.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.GoAway
Compares the debug data's content, not the array's identity.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.Headers
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.Ping
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.Priority
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.PushPromise
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.RstStream
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.Settings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.Unknown
Compares the payload's content, not the array's identity.
equals(Object) - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.CancelPush
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.Data
Compares the content, not the array's identity.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.GoAway
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.Headers
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.MaxPushId
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.PushPromise
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.Settings
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.frames.Http3Frame.Unknown
Compares the payload's content, not the array's identity.
equals(Object) - Method in class org.microproxy.http.HttpMethod
 
equals(Object) - Method in record class org.microproxy.http.HttpResponseStatus
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.http.HttpVersion
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.http.WebSocketMessage
Whether other has the same type, direction and payload.
equals(Object) - Method in record class org.microproxy.KeyMaterial
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.otel.SpanContext
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.otel.SpanLimits
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.PoolMetrics
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class org.microproxy.ProtocolPolicy
 
equals(Object) - Method in record class org.microproxy.ProxyFailure.BadRequest
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.BadServerResponse
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.ConnectFailed
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.NoConnectionAvailable
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.NoRoute
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.RequestTooLarge
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.ServerTimeout
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.TlsFailed
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.ProxyFailure.UnresolvedHost
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class org.microproxy.RetryBackoff
 
equals(Object) - Method in record class org.microproxy.ReverseProxyMode
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class org.microproxy.starlark.ProtoFixed
 
equals(Object) - Method in class org.microproxy.starlark.ProtoGroup
 
equals(Object) - Method in record class org.microproxy.starlark.StarlarkScript.Limits
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.starlark.stdlib.Stdlib.Limits
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.stats.Tag
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.stats.TagExtractor.Result
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.stats.TagExtractor.Rule
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.TlsServerIdentity
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class org.microproxy.warc.WarcReader.Record
Indicates whether some other object is "equal to" this one.
error() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Interprets the raw wire error code.
error() - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
Interprets the raw wire error code.
error() - Method in exception class io.github.mahmoudimus.quic.connection.RemoteCidQueue.CidInsertException
Why the ID was refused.
error() - Method in exception class io.github.mahmoudimus.quic.QuicConnectionException
Why the connection ended.
ERROR_NAMES - Static variable in interface org.microproxy.frames.Http2Frame
The names of the error codes (RFC 9113 section 7), indexed by code.
errorCode() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Returns the value of the errorCode record component.
errorCode() - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
Returns the value of the errorCode record component.
errorCode() - Method in exception class io.github.mahmoudimus.http2.Http2Exception
The code to send in GOAWAY (connection error) or RST_STREAM (stream error).
errorCode() - Method in exception class io.github.mahmoudimus.http3.Http3Exception
The code to close the connection (connection error) or reset the stream (stream error) with.
errorCode() - Method in record class io.github.mahmoudimus.quic.connection.Retransmits.PendingReset
Returns the value of the errorCode record component.
errorCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Stopped
Returns the value of the errorCode record component.
errorCode() - Method in exception class io.github.mahmoudimus.quic.connection.StreamException
The peer's application error code.
errorCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
Returns the value of the errorCode record component.
errorCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
Returns the value of the errorCode record component.
errorCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
Returns the value of the errorCode record component.
errorCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
Returns the value of the errorCode record component.
errorCode() - Method in exception class io.github.mahmoudimus.quic.QuicStreamException
The peer's application error code.
errorCode() - Method in record class org.microproxy.frames.Http2Frame.GoAway
Returns the value of the errorCode record component.
errorCode() - Method in record class org.microproxy.frames.Http2Frame.RstStream
Returns the value of the errorCode record component.
errorCode() - Method in class org.microproxy.quic.QuicFraming
Returns the application error code of the resets for a message that is too large or malformed.
ErrorCode - Enum Class in io.github.mahmoudimus.http2
The error codes of RFC 9113 §7, carried by RST_STREAM and GOAWAY frames.
errorName() - Method in record class org.microproxy.frames.Http2Frame.GoAway
The error code's name (Http2Frame.errorName(long)).
errorName() - Method in record class org.microproxy.frames.Http2Frame.RstStream
The error code's name (Http2Frame.errorName(long)).
errorName(long) - Static method in interface org.microproxy.frames.Http2Frame
The name of an error code, or its hexadecimal value for an unknown one.
event() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Stream
Returns the value of the event record component.
event(String, long, String, String) - Method in interface io.github.mahmoudimus.quic.connection.QlogSink
Records one event.
evictionCount() - Method in record class org.microproxy.PoolMetrics
Returns the value of the evictionCount record component.
EXCEEDS_LIMIT - Enum constant in enum class io.github.mahmoudimus.quic.connection.RemoteCidQueue.InsertError
The sequence number is beyond the window: the peer exceeded our limit.
exchange() - Method in record class org.microproxy.dns.DnsMessage.Mx
Returns the value of the exchange record component.
exchange(byte[]) - Method in interface org.microproxy.dns.DnsTransport
Sends a wire-format DNS query and reads its response.
exchangeEnded(boolean) - Method in interface org.microproxy.HttpFilters
Called exactly once when this exchange is over, however it ended, so per-exchange resources (a concurrency permit, a span, a temporary file) can be released: after HttpFilters.proxyToClientResponseSent(org.microproxy.http.HttpResponse, org.microproxy.ResponseSource) for a response written in full, whoever made it (the server, the proxy's failure answer, a filter's short-circuit, the cache); for a CONNECT that became a byte tunnel, or a request upgraded with 101 (WebSocket), when the tunnel closes; for an intercepted CONNECT, once interception starts: the requests inside the session are exchanges of their own; when the exchange was abandoned: the client disconnected, the server failed half-way through the response, a filter returned null, a filter or the proxy threw, or the proxy was stopped.
exchangeEnded(boolean) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
exchangeEnded(boolean) - Method in class org.microproxy.HttpFiltersChain.Chained
 
exclusive() - Method in record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Returns the value of the exclusive record component.
exclusive() - Method in record class org.microproxy.frames.Http2Frame.Priority
Returns the value of the exclusive record component.
expand(byte[], byte[], int) - Method in class io.github.mahmoudimus.quic.Hkdf
HKDF-Expand(prk, info, length).
expandLabel(byte[], String, byte[], int) - Method in class io.github.mahmoudimus.quic.Hkdf
TLS 1.3's HKDF-Expand-Label(secret, label, context, length), with the "tls13 " prefix added to label.
EXPECT - Static variable in class org.microproxy.http.HttpHeaderNames
The Expect header field name.
EXPECTATION_FAILED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
expire() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the expire record component.
exponential(Duration, Duration) - Static method in class org.microproxy.RetryBackoff
Deterministic doubling: waits initial before the second attempt, then twice as long before each further one, capped at max, without jitter.
exponentialWithJitter(Duration, Duration) - Static method in class org.microproxy.RetryBackoff
Exponential backoff with "full jitter": before attempt n + 1, a uniformly random time from zero up to (not including) the RetryBackoff.exponential(java.time.Duration, java.time.Duration) wait min(max, initial x 2^(n-1)).
exportKeyingMaterial(String, byte[], int) - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Keying material from the TLS exporter (RFC 8446 section 7.5).
expression() - Method in class org.microproxy.extras.FlowFilter
Returns the expression this filter was parsed from.
extension(long, long) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Adds an extension or reserved setting, sent after the defined ones.
extensions() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns the value of the extensions record component.
extensionTypes() - Method in record class org.microproxy.ClientHello
Returns the value of the extensionTypes record component.
extra(ServerReplay.Extra) - Method in class org.microproxy.extras.ServerReplay.Builder
What happens to requests without a recording (default ServerReplay.Extra.forward()).
Extra(String, int) - Constructor for record class org.microproxy.extras.ServerReplay.Extra
Checks the parts.
extract(byte[], byte[]) - Method in class io.github.mahmoudimus.quic.Hkdf
HKDF-Extract(salt, ikm).
extract(String) - Method in class org.microproxy.stats.TagExtractor
Takes the tags out of name.
extract(HttpHeaders) - Method in interface org.microproxy.otel.Propagator
Reads the trace context in headers.

F

failed() - Method in record class org.microproxy.extras.ClientReplay.Result
Returns how many requests got no response (connection or protocol failures).
FAILED_LOCAL_HEALTH_CHECK - Enum constant in enum class org.microproxy.ResponseFlag
LH: a local health check failed.
failedExchanges() - Method in class org.microproxy.warc.WarcRecorder
Returns exchanges that could not be written.
failover(List<DnsTransport>) - Static method in interface org.microproxy.dns.DnsTransport
Each of transports in turn: a query that fails with an IOException (a resolver that cannot be reached, times out or answers with an HTTP error) is sent to the next, and only when every one has failed does the query fail, with the last failure and the earlier ones suppressed in it.
failure() - Method in class org.microproxy.FlowContext
Why the proxy had to answer the exchange in progress on this connection (or the last one) itself, or abandon it: the failure handed to HttpFilters.proxyToServerFailure(org.microproxy.ProxyFailure), set before the filters see it.
failure() - Method in class org.microproxy.FlowRecord
Returns why the proxy had to answer itself (see FlowContext.failure()), or empty.
FailureResponder - Interface in org.microproxy
Makes the proxy's own answer when a request fails (ProxyFailure), e.g. to send branded error pages or JSON instead of the default plain-text body.
fallback(ChainedProxyManager) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
Routes requests when the script has no upstream function or it returns None; by default such requests connect directly.
FALLBACK_TO_DIRECT_CONNECTION - Static variable in class org.microproxy.ChainedProxyAdapter
FAULT_INJECTED - Enum constant in enum class org.microproxy.ResponseFlag
FI: a fault was injected.
field(int) - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
The field with number.
field(String) - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
The field named name.
field(String) - Method in record class org.microproxy.warc.WarcReader.Record
The first value of a named field, compared without regard to case.
Field - Record Class in org.microproxy.frames
One field of a decoded header block (HTTP/2 HPACK, HTTP/3 QPACK): a name, which is lower case on the wire and starts with : for a pseudo-header, and a value.
Field(String, int, ProtoSchema.Type, boolean, String, boolean) - Constructor for record class org.microproxy.contentviews.ProtoSchema.Field
Checks the field.
Field(String, String) - Constructor for record class org.microproxy.frames.Field
Creates a field that compression tables may hold.
Field(String, String, boolean) - Constructor for record class org.microproxy.frames.Field
Creates a field.
fieldBlock() - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
Returns the value of the fieldBlock record component.
fieldBlock() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns the value of the fieldBlock record component.
fieldBlock() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns the value of the fieldBlock record component.
fields() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the fields record component.
fields() - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
Returns the value of the fields record component.
fields() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the fields record component.
fields() - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
Returns the value of the fields record component.
fields() - Method in record class org.microproxy.contentviews.ProtoMessage
Returns the value of the fields record component.
fields() - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
Returns the fields, in declaration order.
fields() - Method in record class org.microproxy.frames.Http2Frame.Headers
Returns the value of the fields record component.
fields() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
Returns the value of the fields record component.
fields() - Method in record class org.microproxy.frames.Http3Frame.Headers
Returns the value of the fields record component.
fields() - Method in record class org.microproxy.frames.Http3Frame.PushPromise
Returns the value of the fields record component.
fields() - Method in interface org.microproxy.otel.Propagator
Returns the headers this propagator reads and writes, lower-case.
fields() - Method in record class org.microproxy.warc.WarcReader.Record
Returns the value of the fields record component.
fieldSection() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Headers
Returns the value of the fieldSection record component.
fieldSection() - Method in record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
Returns the value of the fieldSection record component.
FieldSectionSizeException - Exception Class in io.github.mahmoudimus.http3
A decoded field section is larger than the decoder's SETTINGS_MAX_FIELD_SECTION_SIZE (RFC 9114 §4.2.2).
file(Path) - Static method in interface io.github.mahmoudimus.quic.connection.KeyLog
A key log that appends to a file, creating it if needed.
filter() - Method in class org.microproxy.extras.ActivityLogger
Returns the filter that decides which records are written.
filter() - Method in record class org.microproxy.extras.BlockList.Rule
Returns the value of the filter record component.
filter() - Method in record class org.microproxy.extras.MapLocal.Rule
Returns the value of the filter record component.
filter() - Method in record class org.microproxy.extras.MapRemote.Rule
Returns the value of the filter record component.
filter() - Method in class org.microproxy.extras.ModifyBody.Rule
Returns the messages this rule edits.
filter() - Method in class org.microproxy.extras.ModifyHeaders.Rule
Returns the messages this rule changes.
filter(InetSocketAddress, ByteBuffer) - Method in interface io.github.mahmoudimus.quic.QuicServer.DatagramFilter
Called on the server's receiving thread for each datagram no connection claims: it should not block.
filter(AccessLogFilter) - Method in class org.microproxy.extras.ActivityLogger.Builder
Writes only the records filter passes (default: all).
filter(FlowFilter) - Method in class org.microproxy.extras.HarRecorder.Builder
Records only the exchanges filter matches (as mitmproxy's save_stream_filter); default all.
FILTER - Enum constant in enum class org.microproxy.ResponseSource
Made by a filter: a short-circuit response, an answer from HttpFilters.proxyToServerFailure(org.microproxy.ProxyFailure), or a replacement for the server's or the proxy's response (another response object, or the same one with a different status).
filterConnectAnswer() - Method in class org.microproxy.ProtocolPolicy
Whether the proxy's 200 Connection established answer to a client's CONNECT goes through HttpFilters.serverToProxyResponse(org.microproxy.http.HttpObject) and HttpFilters.proxyToClientResponse(org.microproxy.http.HttpObject), so that filters can see it or turn it into a refusal (MicroProxy's default), rather than straight to the client (as LittleProxy writes it).
filterConnectAnswer(boolean) - Method in class org.microproxy.Http1PolicyBuilder
 
filterConnectAnswer(boolean) - Method in class org.microproxy.ProtocolPolicy.Builder
filterRequest(HttpObject) - Method in interface org.microproxy.ChainedProxy
Last chance to modify each request object before it is sent to this proxy.
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.cache.HttpCache
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.AntiCache
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.BlockList
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.ConcurrencyLimiter
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.HarRecorder
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.HttpLogger
Filters that log this exchange, or null when it is not logged: the HttpLogger.Builder.only predicate declined it, or the default System.Logger is off at INFO.
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.MapLocal
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.MapRemote
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.ModifyBody
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.ModifyHeaders
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.RewriteRules
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.ServerReplay
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.extras.StickyCookie
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.HttpFiltersBuilder.Built
These filters, for any request.
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.HttpFiltersChain
 
filterRequest(HttpRequest, FlowContext) - Method in interface org.microproxy.HttpFiltersSource
Returns the filters for a request, or null to proxy it unfiltered.
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.HttpFiltersSourceAdapter
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.starlark.ScriptedProxy
 
filterRequest(HttpRequest, FlowContext) - Method in class org.microproxy.warc.WarcRecorder
 
filterWebSocketFrame(WebSocketFrame, boolean) - Method in interface org.microproxy.HttpFilters
Rewrites or drops a WebSocket frame on an upgraded connection, after HttpFilters.webSocketFrameReceived(WebSocketFrame, boolean) has seen it.
filterWebSocketFrame(WebSocketFrame, boolean) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
filterWebSocketFrame(WebSocketFrame, boolean) - Method in class org.microproxy.HttpFiltersChain.Chained
 
filterWebSocketMessage(WebSocketMessage, boolean) - Method in interface org.microproxy.HttpFilters
Rewrites or drops a whole WebSocket message on an upgraded connection.
filterWebSocketMessage(WebSocketMessage, boolean) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
filterWebSocketMessage(WebSocketMessage, boolean) - Method in class org.microproxy.HttpFiltersChain.Chained
 
filterWebSocketMessages(WebSocketMessage, boolean) - Method in interface org.microproxy.HttpFilters
The messages to send in place of message, in order.
filterWebSocketMessages(WebSocketMessage, boolean) - Method in class org.microproxy.HttpFiltersChain.Chained
 
fin() - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Returns the value of the fin record component.
fin() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Returns the value of the fin record component.
FINAL_SIZE_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
A stream's final size changed or was exceeded.
finalSize() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
Returns the value of the finalSize record component.
finish() - Method in class io.github.mahmoudimus.quic.packet.PacketBuilder
Finishes the current packet without padding beyond what header protection needs.
finish(int) - Method in class io.github.mahmoudimus.quic.packet.PacketBuilder
Finishes the current packet: pads it so that header protection can sample it and, if minDatagramSize asks for it, so that the datagram reaches that size; then protects it.
finish(StreamId) - Method in class io.github.mahmoudimus.quic.connection.Connection
Finishes a stream's sending side: a FIN follows the data written.
finish(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Finishes a stream: no more data will be written, and a FIN is queued.
Finished(StreamId) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamEvent.Finished
Creates an instance of a Finished record class.
first(int) - Method in record class org.microproxy.contentviews.ProtoMessage
The first value of field number.
firstResponseByteNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the firstResponseByteNanos record component.
firstSentTime() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The send time of the first packet of the flight this one was sent in ( P.first_sent_time).
fixed(Duration) - Static method in class org.microproxy.RetryBackoff
The same wait before every retry, without jitter: exponential(delay, delay).
FIXED_BIT - Static variable in interface io.github.mahmoudimus.quic.packet.PacketHeader
The Fixed Bit, set in every version 1 and 2 packet unless greased (RFC 9287).
Fixed32(int) - Constructor for record class org.microproxy.contentviews.ProtoValue.Fixed32
Creates an instance of a Fixed32 record class.
FIXED32 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
fixed32.
Fixed64(long) - Constructor for record class org.microproxy.contentviews.ProtoValue.Fixed64
Creates an instance of a Fixed64 record class.
FIXED64 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
fixed64.
FLAG_ACK - Static variable in class io.github.mahmoudimus.http2.FrameType
SETTINGS, PING: an acknowledgement.
FLAG_END_HEADERS - Static variable in class io.github.mahmoudimus.http2.FrameType
HEADERS, PUSH_PROMISE, CONTINUATION: the field block is complete.
FLAG_END_STREAM - Static variable in class io.github.mahmoudimus.http2.FrameType
DATA, HEADERS: the last frame the sender will send on the stream.
FLAG_PADDED - Static variable in class io.github.mahmoudimus.http2.FrameType
DATA, HEADERS, PUSH_PROMISE: the payload starts with a pad length and ends in padding.
FLAG_PRIORITY - Static variable in class io.github.mahmoudimus.http2.FrameType
HEADERS: the payload carries a (deprecated) priority signal.
flags() - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Returns the value of the flags record component.
flags() - Method in class org.microproxy.dns.DnsMessage
Returns the header's flags: QR, opcode, AA, TC, RD, RA, Z, AD, CD and RCODE, as 16 bits.
flags() - Method in record class org.microproxy.frames.Http2Frame.Unknown
Returns the value of the flags record component.
flags() - Method in record class org.microproxy.otel.SpanContext
Returns the value of the flags record component.
FLOAT - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
float: fixed32 on the wire.
flow(HttpRequest, String, HttpResponse) - Static method in class org.microproxy.extras.FlowFilter
A view of an exchange for filters.
FLOW_CONTROL_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
A violation of flow-control limits.
FLOW_CONTROL_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The peer sent more data than its flow-control limits allowed.
flowContext - Variable in class org.microproxy.HttpFiltersAdapter
The client connection or exchange context.
flowContext() - Method in interface org.microproxy.frames.FrameContext
The exchange the frame belongs to, or null for connection frames and for frames that come before their exchange exists: the HEADERS that open an HTTP/2 stream from a client, and frames an Http3FramePipeline runs.
flowContext() - Method in interface org.microproxy.quic.QuicContext
The flow of the CONNECT the proxy made up to decide on the connection.
flowContext() - Method in interface org.microproxy.tcp.TcpContext
The exchange that opened the tunnel (its CONNECT), or the client connection's flow.
flowContext() - Method in interface org.microproxy.udp.UdpContext
The exchange that opened the flow (its CONNECT-UDP request, on its own HTTP/3 stream).
FlowContext - Class in org.microproxy
Information about the client side of a proxied flow.
FlowContext(long, Supplier<InetSocketAddress>, Supplier<SSLSession>, ClientDetails) - Constructor for class org.microproxy.FlowContext
Creates a context for the supplied client address and TLS session.
FlowContext(FlowContext) - Constructor for class org.microproxy.FlowContext
Creates a context that shares identity and timing data with parent.
FlowContext(FlowContext, int) - Constructor for class org.microproxy.FlowContext
Creates the context of one HTTP/2 stream of the client connection connection: it shares the connection's identity (id, addresses, TLS session, client details, acceptance time) and has its own exchange record and timing data, since a connection's streams run at the same time.
FlowContext(FlowContext, int, HttpVersion) - Constructor for class org.microproxy.FlowContext
Creates the context of one stream of the client connection connection, as FlowContext(FlowContext, int) does, for an HTTP/2 or an HTTP/3 connection.
flowControlledLength() - Method in record class io.github.mahmoudimus.http2.Frame.Data
The bytes this frame counts against flow-control windows: data plus padding.
FlowController - Class in io.github.mahmoudimus.http2
Flow-control accounting for one connection (RFC 9113 §5.2, §6.9): the connection windows and a send and a receive window for each open stream.
FlowController() - Constructor for class io.github.mahmoudimus.http2.FlowController
Both directions at the protocol's initial 65535.
FlowController(int, int) - Constructor for class io.github.mahmoudimus.http2.FlowController
Creates flow-control accounting with the agreed initial stream windows.
FlowControlWindow - Class in io.github.mahmoudimus.http2
One HTTP/2 flow-control window (RFC 9113 §5.2, §6.9): of a stream, or of the connection when FlowControlWindow.streamId() is 0.
FlowControlWindow(int, int) - Constructor for class io.github.mahmoudimus.http2.FlowControlWindow
Creates a flow-control window.
flowEnded(FlowRecord) - Method in interface org.microproxy.ActivityTracker
Called once when an exchange or a flow is over, with what an access log needs to know about it: an HTTP exchange whose response has been written or that was abandoned (after ActivityTracker.responseCompleted(org.microproxy.FlowContext, org.microproxy.http.HttpResponse), when that was called), and a CONNECT tunnel, a SOCKS client's tunnel, a WebSocket session, a TCP-hook tunnel, a CONNECT-UDP flow, or a transparent QUIC flow that was relayed or intercepted stream by stream, when it closes.
flowEnded(FlowRecord) - Method in class org.microproxy.extras.ActivityLogger
 
flowEnded(FlowRecord) - Method in interface org.microproxy.FlowTracer
Called once per finished exchange or flow, with the record ActivityTracker.flowEnded(org.microproxy.FlowRecord) gets: FlowRecord.trace() is the trace FlowTracer.startExchange(org.microproxy.FlowContext, org.microproxy.http.HttpRequest) made, or FlowTrace.NONE for a flow that had no request of its own (a relayed transparent QUIC flow, a request a transport answered itself).
flowEnded(FlowRecord) - Method in class org.microproxy.otel.Telemetry
 
FlowFilter - Class in org.microproxy.extras
A flow filter expression, in the syntax of mitmproxy's filters, which the addons (MapLocal, MapRemote, ModifyBody, ModifyHeaders, BlockList, AntiCache, StickyCookie, HarRecorder) take to choose the exchanges they act on.
FlowFilter.Flow - Interface in org.microproxy.extras
An exchange as filters see it: the request, the response once there is one, and the bodies when they have been buffered.
FlowRecord - Class in org.microproxy
What an access log needs to know about one finished exchange or flow, handed to ActivityTracker.flowEnded(org.microproxy.FlowRecord) once it is over: an HTTP exchange once its response has been written (or it was abandoned), a CONNECT tunnel, a SOCKS client's tunnel, a WebSocket session, a tunnel seen by the TCP hooks, a CONNECT-UDP flow, and a QUIC flow the transparent QUIC listener relayed or intercepted stream by stream, each when it closes.
FlowRecord.Builder - Class in org.microproxy
Builds a FlowRecord; unset values are unknown.
FlowRecord.Kind - Enum Class in org.microproxy
What kind of exchange or flow a record is about; %MP_FLOW% renders its FlowRecord.Kind.label().
FlowTimings - Record Class in org.microproxy
When the phases of one request/response exchange happened, from FlowContext.timings().
FlowTimings(long, long, long, long, long, long, long, long, long, long, long) - Constructor for record class org.microproxy.FlowTimings
Creates an instance of a FlowTimings record class.
FlowTrace - Interface in org.microproxy
The distributed trace of one exchange, made by a FlowTracer when the request head arrives: its trace and span ids, which FlowContext.trace(), access logs ( %TRACE_ID%, %SPAN_ID%) and scripts (ctx.trace_id) show, and the calls through which the proxy reports each attempt to reach the server and asks for the headers that carry the trace to it.
FlowTrace.Span - Interface in org.microproxy
A span FlowTrace.startSpan(java.lang.String) started, used by one thread at a time.
FlowTracer - Interface in org.microproxy
Traces the proxy's exchanges and flows: given with HttpProxyServerBootstrap.withTracer(org.microproxy.FlowTracer), it is asked for a FlowTrace when each request head arrives, and handed each exchange's and flow's FlowRecord when it is over.
flush() - Method in class io.github.mahmoudimus.http2.FrameWriter
Flushes buffered output to the underlying stream.
flush() - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
Flushes the stream.
flush() - Method in class org.microproxy.stats.StatsdSink
Sends what changed since the last flush now.
flush(Duration) - Method in class org.microproxy.otel.Telemetry
Exports what is queued now (spans, log records) and the metrics, waiting up to timeout for each.
FORBIDDEN - Static variable in record class org.microproxy.http.HttpResponseStatus
 
forceKeyUpdate() - Method in class io.github.mahmoudimus.quic.connection.Connection
Starts a key update (RFC 9001 section 6) now, rather than when the key's packet budget runs out.
forceTraceHeader(String) - Method in class org.microproxy.otel.Telemetry.Builder
Samples every request that has header, whatever the sampler says (Envoy's x-envoy-force-trace); none by default.
forCode(int) - Static method in enum class io.github.mahmoudimus.http2.ErrorCode
The error code for a wire value.
forCode(int) - Static method in enum class io.github.mahmoudimus.quic.CipherSuite
The suite with a TLS code point.
forCode(int) - Static method in enum class io.github.mahmoudimus.quic.tls.NamedGroup
The group with a TLS code point.
forCode(int) - Static method in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
The scheme with a TLS code point.
forCode(long) - Static method in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The error code for a wire value.
forCode(long) - Static method in enum class io.github.mahmoudimus.quic.frame.FrameType
The frame type with a type code.
forConnection(FlowContext) - Method in interface org.microproxy.MitmManager
The manager that intercepts for the client connection flow; this one by default.
forControlStream(Http3StreamValidator.Role) - Static method in class io.github.mahmoudimus.http3.Http3StreamValidator
A validator for the peer's control stream.
format() - Method in class org.microproxy.extras.ActivityLogger
Returns the format of the lines.
format() - Method in class org.microproxy.extras.HttpLogger
Returns the configured log output format.
format(AccessLogFormat) - Method in class org.microproxy.extras.ActivityLogger.Builder
Writes lines in format.
format(HttpLogger.Format) - Method in class org.microproxy.extras.HttpLogger.Builder
Readable blocks (default) or JSON lines.
format(LogFormat) - Method in class org.microproxy.extras.ActivityLogger.Builder
Writes lines in a preset format (default: LogFormat.ENVOY).
format(FlowRecord) - Method in class org.microproxy.extras.AccessLogFormat
Renders one line for record.
formatter() - Method in enum class org.microproxy.extras.LogFormat
Returns this preset as an AccessLogFormat.
formatTo(FlowRecord, StringBuilder) - Method in class org.microproxy.extras.AccessLogFormat
Appends one line for record to out.
formatTraceparent(SpanContext) - Static method in class org.microproxy.otel.Propagators
Formats a traceparent value, version 00, with only the sampled flag.
forPushStream(long, Http3StreamValidator.Role) - Static method in class io.github.mahmoudimus.http3.Http3StreamValidator
A validator for a push stream, after its push ID; only clients receive these.
forRequest(HttpRequest) - Static method in record class org.microproxy.contentviews.ContentView.Metadata
Metadata for a request's body.
forRequestStream(long, Http3StreamValidator.Role) - Static method in class io.github.mahmoudimus.http3.Http3StreamValidator
A validator for the frames received on a request stream: a request when local is the server, a response when it is the client.
forResponse(HttpRequest, HttpMessage) - Static method in record class org.microproxy.contentviews.ContentView.Metadata
Metadata for a response's body.
forStreams(StreamsState) - Static method in interface io.github.mahmoudimus.quic.connection.Recovery.Listener
The listener of a connection's streams, as quinn wires it: acknowledged STREAM frames and RESET_STREAMs release stream state, lost STREAM frames are queued again.
forward() - Static method in record class org.microproxy.extras.ServerReplay.Extra
Returns sending the request on to the server (the default).
forwardedVia() - Method in class org.microproxy.FlowContext
The session's server that the exchange in progress (or the last one) is forwarded through, as host:port, when the client takes that server for its proxy (an intercepted HTTPS proxy, or an HTTP proxy whose session is plain HTTP): the client sent a CONNECT or an absolute-form request inside the session, which the proxy forwards to that server rather than to the target itself, or the request travels inside the tunnel such a CONNECT opened.
forWireValue(int) - Static method in enum class io.github.mahmoudimus.quic.QuicVersion
The version with a wire number.
forZeroRtt() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
The parameters a client remembers from a session for 0-RTT (RFC 9000 section 7.4.1), as quinn keeps them: the flow control and stream limits, the idle timeout, the payload size, the connection ID limit and DATAGRAM support, but not the connection IDs, the reset token, the preferred address or the ACK delay parameters, which belong to one connection.
FOUND - Static variable in record class org.microproxy.http.HttpResponseStatus
 
frame(byte[]) - Method in interface org.microproxy.quic.MessageFramer
The message for a payload, the reverse of MessageFramer.payload(byte[]): the payload with its length prefix, or with the delimiter after it.
frame(List<String>) - Static method in class io.github.mahmoudimus.http2.OriginFrame
An ORIGIN frame naming origins, on stream 0 and without flags, for FrameWriter.writeFrame(Frame).
Frame - Interface in io.github.mahmoudimus.http2
One HTTP/2 frame (RFC 9113 §6).
Frame - Interface in io.github.mahmoudimus.quic.frame
A QUIC frame (RFC 9000 section 19, RFC 9221 and the ACK frequency extension).
Frame(boolean, byte[]) - Constructor for record class org.microproxy.contentviews.Grpc.Frame
Wraps a payload.
FRAME_ENCODING_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
A frame could not be decoded.
FRAME_HEADER_LENGTH - Static variable in class io.github.mahmoudimus.http2.FrameType
The size of every frame header.
FRAME_SIZE_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
A frame payload has an invalid size.
Frame.Ack - Record Class in io.github.mahmoudimus.quic.frame
An ACK frame (types 0x02 and 0x03).
Frame.AckFrequency - Record Class in io.github.mahmoudimus.quic.frame
An ACK_FREQUENCY frame (type 0xaf) of the QUIC ACK frequency extension, as quinn implements it.
Frame.AckRange - Record Class in io.github.mahmoudimus.quic.frame
An inclusive range of acknowledged packet numbers.
Frame.ApplicationClose - Record Class in io.github.mahmoudimus.quic.frame
A CONNECTION_CLOSE frame for an application error (type 0x1d), allowed only in 0-RTT and 1-RTT packets.
Frame.ConnectionClose - Record Class in io.github.mahmoudimus.quic.frame
A CONNECTION_CLOSE frame for a transport error (type 0x1c).
Frame.Continuation - Record Class in io.github.mahmoudimus.http2
CONTINUATION (§6.10).
Frame.Crypto - Record Class in io.github.mahmoudimus.quic.frame
A CRYPTO frame (type 0x06), carrying TLS handshake bytes.
Frame.Data - Record Class in io.github.mahmoudimus.http2
DATA (§6.1): part of a stream's content.
Frame.DataBlocked - Record Class in io.github.mahmoudimus.quic.frame
A DATA_BLOCKED frame (type 0x14).
Frame.Datagram - Record Class in io.github.mahmoudimus.quic.frame
A DATAGRAM frame (RFC 9221; 0x30 without and 0x31 with a Length field).
Frame.EcnCounts - Record Class in io.github.mahmoudimus.quic.frame
The ECN counts of an ACK frame of type 0x03 (RFC 9000 section 19.3.2).
Frame.GoAway - Record Class in io.github.mahmoudimus.http2
GOAWAY (§6.8).
Frame.HandshakeDone - Record Class in io.github.mahmoudimus.quic.frame
A HANDSHAKE_DONE frame (type 0x1e).
Frame.Headers - Record Class in io.github.mahmoudimus.http2
HEADERS (§6.2).
Frame.ImmediateAck - Record Class in io.github.mahmoudimus.quic.frame
An IMMEDIATE_ACK frame (type 0x1f) of the QUIC ACK frequency extension.
Frame.MaxData - Record Class in io.github.mahmoudimus.quic.frame
A MAX_DATA frame (type 0x10).
Frame.MaxStreamData - Record Class in io.github.mahmoudimus.quic.frame
A MAX_STREAM_DATA frame (type 0x11).
Frame.MaxStreams - Record Class in io.github.mahmoudimus.quic.frame
A MAX_STREAMS frame (0x12 bidirectional, 0x13 unidirectional).
Frame.NewConnectionId - Record Class in io.github.mahmoudimus.quic.frame
A NEW_CONNECTION_ID frame (type 0x18).
Frame.NewToken - Record Class in io.github.mahmoudimus.quic.frame
A NEW_TOKEN frame (type 0x07), with a token for future connections.
Frame.Padding - Record Class in io.github.mahmoudimus.quic.frame
A run of PADDING frames (type 0x00), each a single zero byte.
Frame.PathChallenge - Record Class in io.github.mahmoudimus.quic.frame
A PATH_CHALLENGE frame (type 0x1a).
Frame.PathResponse - Record Class in io.github.mahmoudimus.quic.frame
A PATH_RESPONSE frame (type 0x1b).
Frame.Ping - Record Class in io.github.mahmoudimus.http2
PING (§6.7).
Frame.Ping - Record Class in io.github.mahmoudimus.quic.frame
A PING frame (type 0x01).
Frame.Priority - Record Class in io.github.mahmoudimus.http2
PRIORITY (§6.3): parsed and otherwise ignored.
Frame.PrioritySpec - Record Class in io.github.mahmoudimus.http2
The RFC 7540 priority signal carried by PRIORITY frames and HEADERS frames with the PRIORITY flag.
Frame.PushPromise - Record Class in io.github.mahmoudimus.http2
PUSH_PROMISE (§6.6), with its complete field block.
Frame.ResetStream - Record Class in io.github.mahmoudimus.quic.frame
A RESET_STREAM frame (type 0x04).
Frame.RetireConnectionId - Record Class in io.github.mahmoudimus.quic.frame
A RETIRE_CONNECTION_ID frame (type 0x19).
Frame.RstStream - Record Class in io.github.mahmoudimus.http2
RST_STREAM (§6.4).
Frame.Settings - Record Class in io.github.mahmoudimus.http2
SETTINGS (§6.5).
Frame.StopSending - Record Class in io.github.mahmoudimus.quic.frame
A STOP_SENDING frame (type 0x05).
Frame.Stream - Record Class in io.github.mahmoudimus.quic.frame
A STREAM frame (types 0x08 to 0x0f).
Frame.StreamDataBlocked - Record Class in io.github.mahmoudimus.quic.frame
A STREAM_DATA_BLOCKED frame (type 0x15).
Frame.StreamsBlocked - Record Class in io.github.mahmoudimus.quic.frame
A STREAMS_BLOCKED frame (0x16 bidirectional, 0x17 unidirectional).
Frame.Unknown - Record Class in io.github.mahmoudimus.http2
A frame of a type this codec does not know (an extension).
Frame.WindowUpdate - Record Class in io.github.mahmoudimus.http2
WINDOW_UPDATE (§6.9) for a stream, or for the connection when streamId is 0.
FrameContext - Interface in org.microproxy.frames
Where an intercepted frame travels, and a way to add frames next to it.
FrameDecoder - Class in io.github.mahmoudimus.quic.frame
Decodes the frames of a decrypted packet payload.
FrameDirection - Enum Class in org.microproxy.frames
Where a frame is going, as a FrameInterceptor sees it.
FrameException - Exception Class in io.github.mahmoudimus.quic.frame
A connection error caused by a received frame, carrying the frame type for the Frame Type field of the CONNECTION_CLOSE frame that reports it (RFC 9000 section 19.19).
FrameException(long, long, String) - Constructor for exception class io.github.mahmoudimus.quic.frame.FrameException
A frame error.
frameInterceptor() - Method in class org.microproxy.starlark.ScriptedProxy
An interceptor that calls the script's on_frame(frame, ctx), for HttpProxyServerBootstrap.withFrameInterceptor(org.microproxy.frames.FrameInterceptor) (live HTTP/2 and HTTP/3) or Http3FramePipeline.builder(org.microproxy.frames.FrameInterceptor) (HTTP/3 streams relayed otherwise).
FrameInterceptor - Interface in org.microproxy.frames
Inspects, edits, drops and adds HTTP/2 and HTTP/3 frames on live connections, and HTTP/3 frames in an Http3FramePipeline.
frameLength(byte[], int, int) - Method in interface org.microproxy.quic.MessageFramer
The length of the message that starts at data[offset], its prefix or delimiter included, as soon as the bytes say it: a length-prefixed framer knows it from the prefix alone, before the rest of the message has arrived, which lets the proxy refuse a message larger than QuicFraming.maxMessageSize() at once; a delimited one when it finds the delimiter.
FrameProtocol - Enum Class in org.microproxy.frames
The protocol of an intercepted frame.
FrameReader - Class in io.github.mahmoudimus.http2
Reads HTTP/2 frames from a blocking stream, one call per frame, validating everything that can be checked from a frame on its own (RFC 9113 §4, §6).
FrameReader(InputStream) - Constructor for class io.github.mahmoudimus.http2.FrameReader
Creates a reader for the supplied input stream.
framerFor(String, String, String) - Method in class org.microproxy.quic.QuicFraming
The framer for a connection: that of the first host rule matching host or sni, else that of the alpn rule, else that of *.
framerFor(QuicContext) - Method in class org.microproxy.quic.QuicFraming
The framer for an intercepted connection, by its ALPN, host and SNI.
frameType() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Returns the value of the frameType record component.
frameType() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
Returns the value of the frameType record component.
frameType() - Method in exception class io.github.mahmoudimus.quic.frame.FrameException
The type code of the frame that caused the error.
FrameType - Class in io.github.mahmoudimus.http2
Frame type codes (RFC 9113 §6) and frame flags.
FrameType - Enum Class in io.github.mahmoudimus.quic.frame
The QUIC frame types (RFC 9000 section 19 and Table 3), with the type codes each covers and the packet types it may appear in.
FrameWriter - Class in io.github.mahmoudimus.http2
Writes HTTP/2 frames to a blocking stream.
FrameWriter(OutputStream) - Constructor for class io.github.mahmoudimus.http2.FrameWriter
Creates a writer for the supplied output stream.
FROM_CLIENT - Enum constant in enum class org.microproxy.frames.FrameDirection
Received from the client, after decoding and before the proxy acts on it.
FROM_SERVER - Enum constant in enum class org.microproxy.frames.FrameDirection
Received from a server, after decoding and before the proxy acts on it.
fromClient() - Method in record class org.microproxy.http.WebSocketMessage
Returns the value of the fromClient record component.
fromClient() - Method in class org.microproxy.quic.QuicDatagram
Returns whether the client sent the datagram (going to the server), rather than the server.
fromClient() - Method in class org.microproxy.quic.QuicMessage
Returns whether the client sent the message (it goes to the server), rather than the server.
fromClient() - Method in class org.microproxy.quic.QuicStreamMessage
Returns whether the client sent the bytes (going to the server), rather than the server.
fromClient() - Method in class org.microproxy.tcp.TcpMessage
Returns whether the client sent the bytes (going to the server), rather than the server.
fromClient() - Method in class org.microproxy.udp.UdpMessage
Returns whether the client sent the datagram (going to the target), rather than the target.
fromEnvironment() - Static method in interface io.github.mahmoudimus.quic.connection.KeyLog
The key log named by the SSLKEYLOGFILE environment variable.
fromEnvironment() - Static method in class org.microproxy.otel.Telemetry
A builder configured from the process's environment (OTEL_* variables, see Telemetry.fromEnvironment(Map)).
fromEnvironment(Map<String, String>) - Static method in class org.microproxy.otel.Telemetry
A builder configured from env, OpenTelemetry's environment variables: OTEL_SDK_DISABLED, OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES, OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_{TRACES,METRICS,LOGS}_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_EXPORTER_OTLP_COMPRESSION, OTEL_EXPORTER_OTLP_TIMEOUT, OTEL_{TRACES,METRICS,LOGS}_EXPORTER (otlp or none), OTEL_TRACES_SAMPLER and OTEL_TRACES_SAMPLER_ARG, OTEL_PROPAGATORS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_BSP_* and OTEL_BLRP_* ( SCHEDULE_DELAY, MAX_QUEUE_SIZE, MAX_EXPORT_BATCH_SIZE), and the span limits (OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_EVENT_COUNT_LIMIT, OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT).
fromEnvironment(Map<String, String>) - Static method in class org.microproxy.UpstreamProxyManager
Reads http_proxy, https_proxy/HTTPS_PROXY, all_proxy/ ALL_PROXY and no_proxy/NO_PROXY, like curl.
fromErrorCode(long) - Static method in class io.github.mahmoudimus.quic.tls.TlsAlert
The alert a CRYPTO_ERROR code carries.
fromFrame(Http3Frame.Settings) - Static method in record class io.github.mahmoudimus.http3.Http3Settings
The settings a peer's SETTINGS frame establishes: its values on top of the defaults.
fromHttp1Request(String, String, String, String, Collection<? extends Map.Entry<String, String>>) - Static method in class io.github.mahmoudimus.http2.Http2Headers
An HTTP/2 request header list for an HTTP/1-style request: pseudo-headers first, then the fields with lower-cased names, minus connection-specific fields (and any named in connection), host (carried by :authority) and a te other than trailers; cookie is split into crumbs (§8.2.3), which compress better.
fromHttp1Response(int, Collection<? extends Map.Entry<String, String>>) - Static method in class io.github.mahmoudimus.http2.Http2Headers
fromKeyManager(X509KeyManager, String) - Static method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
The chain and key a key manager holds under an alias.
fromKeyStore(KeyStore, String, char[]) - Static method in record class org.microproxy.KeyMaterial
The key entry alias of a key store, or its first key entry when alias is null.
fromLongTypeBits(QuicVersion, int) - Static method in enum class io.github.mahmoudimus.quic.packet.PacketType
The long header type for two type bits in a version.
fromSecret(CipherSuite, byte[], QuicVersion) - Static method in record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Derives both keys from one traffic secret (RFC 9001 section 5.1).
fromSecret(CipherSuite, byte[], QuicVersion) - Static method in class io.github.mahmoudimus.quic.crypto.HeaderKey
Derives a key from a traffic secret with the version's "quic hp" label.
fromSecret(CipherSuite, byte[], QuicVersion) - Static method in class io.github.mahmoudimus.quic.crypto.PacketKey
Derives a key from a traffic secret with the version's "quic key" and "quic iv" labels (RFC 9001 section 5.1).
fromSecrets(Secrets, boolean) - Static method in record class io.github.mahmoudimus.quic.crypto.Keys
QUIC version 1 keys from the traffic secrets the TLS handshake produced.
fromSecrets(Secrets, boolean, QuicVersion) - Static method in record class io.github.mahmoudimus.quic.crypto.Keys
Keys from the traffic secrets the TLS handshake produced.
FullFlowContext - Class in org.microproxy
A FlowContext that also knows the server side of the flow.
FullFlowContext(FlowContext, String, ChainedProxy, InetSocketAddress) - Constructor for class org.microproxy.FullFlowContext
Creates a server-side view of a client exchange.
FullHttpMessage - Interface in org.microproxy.http
A complete HTTP message: head and whole body in one object.
FullHttpRequest - Interface in org.microproxy.http
A complete HTTP request.
FullHttpResponse - Interface in org.microproxy.http
A complete HTTP response.
fullName() - Method in record class org.microproxy.contentviews.ProtoSchema.EnumType
Returns the value of the fullName record component.
fullName() - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
Returns the full name, such as example.Order.Item.

G

GATEWAY_TIMEOUT - Static variable in record class org.microproxy.http.HttpResponseStatus
 
gauge(String) - Method in class org.microproxy.starlark.ScriptStats
stats.gauge(name): the gauge script.<name>.
gauge(String) - Method in class org.microproxy.stats.StatsRegistry
The gauge named name, made the first time.
gauge(String) - Method in class org.microproxy.stats.StatsScope
The gauge <prefix>.<name>, made the first time while there is room.
gauge(String, String) - Method in class org.microproxy.stats.StatsRegistry
The gauge named name, made the first time with help.
gauge(String, String, LongSupplier) - Method in class org.microproxy.stats.StatsRegistry
A gauge named name whose value is read from value, for values kept elsewhere (a pool's size, the heap's); it cannot be changed through the gauge.
Gauge - Interface in org.microproxy.stats
A value that goes up and down, such as downstream_cx_active.
GAUGE - Enum constant in enum class org.microproxy.stats.Metric.Type
A value that goes up and down (Gauge).
GE - Enum constant in enum class org.microproxy.extras.AccessLogFilter.Comparison
Greater than or equal.
generate(String) - Static method in class org.microproxy.tls.CertificateAuthority
Generates a new CA with an EC P-256 key, valid for ten years.
generateCid() - Method in interface io.github.mahmoudimus.quic.connection.ConnectionIdGenerator
A new connection ID.
generateCid() - Method in class io.github.mahmoudimus.quic.connection.RandomConnectionIdGenerator
 
generatedResponses() - Method in class org.microproxy.ProtocolPolicy
How HttpFilters.proxyToClientResponse(org.microproxy.http.HttpObject) treats the responses the proxy answers with itself: its error responses and the short-circuit responses filters returned from earlier hooks (GeneratedResponses): it may replace them (GeneratedResponses.REPLACEABLE), change them in place only (GeneratedResponses.IN_PLACE), or never see them (GeneratedResponses.SKIP).
generatedResponses(GeneratedResponses) - Method in class org.microproxy.Http1PolicyBuilder
 
generatedResponses(GeneratedResponses) - Method in class org.microproxy.ProtocolPolicy.Builder
GeneratedResponses - Enum Class in org.microproxy
How HttpFilters.proxyToClientResponse(org.microproxy.http.HttpObject) treats the responses the proxy answers with itself, rather than relaying a server's: its own error responses (the 502 for a server it cannot reach, the 504 for one that does not answer, a 400 for a bad request, the FailureResponder's and HttpFilters.proxyToServerFailure(org.microproxy.ProxyFailure)'s answers, ...), and the short-circuit responses a filter returned from an earlier hook (HttpFilters.clientToProxyRequest(org.microproxy.http.HttpObject), HttpFilters.proxyToServerRequest(org.microproxy.http.HttpObject)), the HttpCache's answers included.
generation() - Method in class io.github.mahmoudimus.quic.connection.PathData
The path's generation, which tells its packets from those of other paths.
get() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
The best current estimate: the smoothed RTT, or the initial RTT before any sample.
get(int) - Method in class io.github.mahmoudimus.quic.ConnectionId
One byte of the ID.
get(int) - Method in record class org.microproxy.frames.Http2Frame.Settings
A setting's value in this frame.
get(long) - Method in class io.github.mahmoudimus.quic.connection.SentPackets
A packet.
get(long) - Method in record class org.microproxy.frames.Http3Frame.Settings
A setting's value in this frame.
get(long, long) - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
The data of a range.
get(Timer) - Method in class io.github.mahmoudimus.quic.connection.TimerTable
A timer's deadline.
get(String) - Method in record class io.github.mahmoudimus.http2.RequestHeaders
The value of the first field with this (lower-case) name, or null.
get(String) - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
The value of the first field with this (lower-case) name, or null.
get(String) - Method in record class io.github.mahmoudimus.http3.RequestHeaders
The value of the first field with this (lower-case) name, or null.
get(String) - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
The value of the first field with this (lower-case) name, or null.
get(String) - Method in interface org.microproxy.cache.CacheStore
The stored variants for key (a URL), most recently stored first; empty if none.
get(String) - Method in class org.microproxy.cache.DiskCacheStore
 
get(String) - Method in class org.microproxy.cache.MemoryCacheStore
 
get(String) - Method in class org.microproxy.contentviews.ContentViews
The view named name.
get(String) - Method in record class org.microproxy.frames.Http2Frame.Headers
The first value of a field.
get(String) - Method in record class org.microproxy.frames.Http3Frame.Headers
The first value of a field.
get(String) - Method in class org.microproxy.http.HttpHeaders
Returns the first value for name, or null.
get(String) - Method in class org.microproxy.stats.StatsRegistry
The metric named name, if registered.
get(String, Object) - Method in class org.microproxy.starlark.ScriptHeaders
Returns the first value of a header, with a caller-supplied fallback.
get(String, String) - Method in class org.microproxy.http.HttpHeaders
Returns the first matching value with a fallback for absent fields.
GET - Static variable in class org.microproxy.http.HttpMethod
The GET request method.
getAcceptedIssuers() - Method in class org.microproxy.tls.TrustingTrustManager
 
getAdminAddress() - Method in interface org.microproxy.HttpProxyServer
The admin listener's address (HttpProxyServerBootstrap.withAdmin(java.net.InetSocketAddress)), with the port it bound.
getAll(String) - Method in record class io.github.mahmoudimus.http2.RequestHeaders
The values of every field with this (lower-case) name.
getAll(String) - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
The values of every field with this (lower-case) name.
getAll(String) - Method in record class io.github.mahmoudimus.http3.RequestHeaders
The values of every field with this (lower-case) name.
getAll(String) - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
The values of every field with this (lower-case) name.
getAll(String) - Method in class org.microproxy.http.HttpHeaders
Returns all values for name, in order.
getAll(String) - Method in class org.microproxy.starlark.ScriptHeaders
Returns every value of a header.
getAllElements(String) - Method in class org.microproxy.http.HttpHeaders
All comma-separated elements across every field named name.
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ProtoFixed
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ProtoGroup
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptClientHello
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptContext
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptFailure
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptFrame
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptFrameContext
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptHeaders
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptHttpFrame
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptQuicContext
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptQuicMessage
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptRequest
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptResponse
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptTcpContext
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptTcpMessage
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptTimings
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptUdpContext
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptUdpMessage
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptUsageValue
Types the builtins that return this class (see ScriptType).
getAssociatedTypeConstructor() - Static method in class org.microproxy.starlark.ScriptWebSocketMessage
Types the builtins that return this class (see ScriptType).
getCertificate() - Method in class org.microproxy.tls.CertificateAuthority
Returns the signing CA certificate.
getCertificate() - Method in class org.microproxy.tls.SelfSignedSslContextSource
Returns the certificate presented by this source.
getCertificateAuthority() - Method in class org.microproxy.tls.CertificateAuthorityMitmManager
Returns the authority used to issue interception certificates.
getCertificatePem() - Method in class org.microproxy.tls.CertificateAuthority
Returns the CA certificate in PEM format.
getChainedProxy() - Method in class org.microproxy.FullFlowContext
Returns the upstream proxy in use, or null for a direct connection.
getChainedProxyAddress() - Method in interface org.microproxy.ChainedProxy
Returns the upstream proxy address.
getChainedProxyAddress() - Method in class org.microproxy.ChainedProxyAdapter
 
getChainedProxyType() - Method in interface org.microproxy.ChainedProxy
Returns the protocol spoken by the upstream proxy.
getChainProxyManager() - Method in interface org.microproxy.HttpProxyServerBootstrap
The chained proxy manager configured so far, or null; lets extensions wrap it.
getClientAddress() - Method in class org.microproxy.ClientDetails
Returns the client socket address.
getClientAddress() - Method in class org.microproxy.FlowContext
The client's address.
getClientContext() - Method in class org.microproxy.FullFlowContext
Returns the client-side context this server-side view was made from.
getClientDetails() - Method in class org.microproxy.FlowContext
Returns the client address and authentication details.
getClientHello() - Method in class org.microproxy.FlowContext
The TLS ClientHello the client sent to start the intercepted (or tunnelled) session this flow belongs to: after a CONNECT whose client was asked for one, and on a transparent TLS connection.
getClientSslSession() - Method in class org.microproxy.FlowContext
The TLS session with the client, or null.
getConnectionContext() - Method in class org.microproxy.FlowContext
The context of the client connection this flow belongs to: this context itself (or the one it was made from) for HTTP/1, the connection's own for an HTTP/2 stream's.
getConnectionId() - Method in class org.microproxy.FlowContext
A process-unique id of the client connection.
getConnectTimeout() - Method in interface org.microproxy.HttpProxyServer
Returns connect timeout for outbound connections in milliseconds (0 = system default).
getContentLength(HttpMessage, long) - Static method in class org.microproxy.http.HttpUtil
The Content-Length value, or defaultValue if absent or invalid.
getDirectClientAddress() - Method in class org.microproxy.FlowContext
The peer of the client's TCP connection: the load balancer that sent a PROXY protocol header when one was accepted (HttpProxyServerBootstrap.withAcceptProxyProtocol(ProxyProtocolMode)), where FlowContext.getClientAddress() is the client that header named; otherwise the same as FlowContext.getClientAddress().
getDrainTime() - Method in interface org.microproxy.HttpProxyServer
Returns how long HttpProxyServer.stop() lets exchanges in progress finish (see HttpProxyServerBootstrap.withDrainTime(java.time.Duration)).
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ProtoFixed
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ProtoGroup
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptClientHello
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptContext
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptFailure
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptFrame
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptFrameContext
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptHttpFrame
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptRequest
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptResponse
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptQuicContext
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptQuicMessage
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptTcpContext
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptTcpMessage
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptTimings
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptUdpContext
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptUdpMessage
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptUsageValue
 
getErrorMessageForUnknownField(String) - Method in class org.microproxy.starlark.ScriptWebSocketMessage
 
getFieldNames() - Method in class org.microproxy.starlark.ProtoFixed
 
getFieldNames() - Method in class org.microproxy.starlark.ProtoGroup
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptClientHello
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptContext
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptFailure
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptFrame
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptFrameContext
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptHttpFrame
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptQuicContext
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptQuicMessage
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptRequest
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptResponse
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptTcpContext
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptTcpMessage
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptTimings
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptUdpContext
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptUdpMessage
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptUsageValue
 
getFieldNames() - Method in class org.microproxy.starlark.ScriptWebSocketMessage
 
getFiltersSource() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the filters source configured so far (never null).
getFrameInterceptor() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the frame interceptor configured so far, or null.
getHttp2Options() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the HTTP/2 limits configured so far (never null).
getHttp3Options() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the HTTP/3 limits configured so far (never null).
getHttpVersion() - Method in class org.microproxy.FlowContext
The HTTP version of the client connection that carries this flow: HttpVersion.HTTP_2_0 or HttpVersion.HTTP_3_0 for a stream's flow, HttpVersion.HTTP_1_1 for an HTTP/1.x connection (whose request lines tell 1.0 from 1.1) and for the context of a connection itself.
getIdleConnectionTimeout() - Method in interface org.microproxy.HttpProxyServer
Returns the maximum time a connection may remain idle.
getIndex(StarlarkSemantics, Object) - Method in class org.microproxy.starlark.ScriptHeaders
 
getInputStream() - Method in class io.github.mahmoudimus.quic.QuicStream
The stream's data from the peer.
getKeyMaterial(String) - Method in interface org.microproxy.SslContextSource
The certificate chain and private key this source presents as a TLS server, for listeners whose TLS is not the JDK's SSLContext: the HTTP/3 listener (HttpProxyServerBootstrap.withHttp3(boolean)) runs the TLS 1.3 handshake inside QUIC itself, and takes the certificate of the proxy's TLS listener from here.
getKeyMaterial(String) - Method in class org.microproxy.tls.KeyStoreSslContextSource
The entry's chain and key, whatever name the client asks for.
getKeyMaterial(String) - Method in class org.microproxy.tls.SelfSignedSslContextSource
The generated certificate and its key, for the HTTP/3 listener; null when this source does not present its certificate.
getListenAddress() - Method in interface org.microproxy.HttpProxyServer
Returns the bound proxy listener address.
getLocalAddress() - Method in interface org.microproxy.ChainedProxy
Returns the local address to bind when connecting, or null for any.
getLocalAddress() - Method in class org.microproxy.FlowContext
The proxy's own address on the client connection: the local socket address of the listener's TCP connection the client made (the TLS, SOCKS, transparent and reverse proxy listeners' too), or, for HTTP/3 and transparent QUIC, the UDP address the QUIC connection is served on (which may be the listener's wildcard address).
getLogFormat() - Method in class org.microproxy.extras.ActivityLogger
Returns the preset this logger writes, or null for a custom format.
getMaximumRequestBufferSizeInBytes() - Method in class org.microproxy.HttpFiltersChain
 
getMaximumRequestBufferSizeInBytes() - Method in interface org.microproxy.HttpFiltersSource
When positive, request bodies are buffered (up to this many bytes) and filters receive a single FullHttpRequest.
getMaximumResponseBufferSizeInBytes() - Method in class org.microproxy.HttpFiltersChain
 
getMaximumResponseBufferSizeInBytes() - Method in interface org.microproxy.HttpFiltersSource
When positive, response bodies are buffered (up to this many bytes) and filters receive a single FullHttpResponse.
getMessage() - Method in exception class io.github.mahmoudimus.http2.Http2Exception
 
getMessage() - Method in exception class io.github.mahmoudimus.http3.Http3Exception
 
getOutputStream() - Method in class io.github.mahmoudimus.quic.QuicStream
The stream's data to the peer.
getPassword() - Method in interface org.microproxy.ChainedProxy
Returns the upstream authentication password, or null.
getPrivateKey() - Method in class org.microproxy.tls.CertificateAuthority
Returns the CA private key.
getProtocolPolicy(HttpVersion) - Method in interface org.microproxy.HttpProxyServer
The ProtocolPolicy the server applies to the exchanges of clients that speak clientVersion (HTTP/1.0 and 1.1 alike), every field resolved: the protocol's own policy over the one for all protocols over the protocol's defaults (see ProtocolPolicy).
getProxyProtocolDestinationAddress() - Method in class org.microproxy.FlowContext
The destination address of the PROXY protocol header the client connection started with (HttpProxyServerBootstrap.withAcceptProxyProtocol(ProxyProtocolMode)): the address the original client connected to, at the load balancer that sent the header, where FlowContext.getLocalAddress() is the proxy's own.
getQuicFraming() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the QUIC framing configured so far.
getQuicInterceptor() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the QUIC interceptor configured so far, or null.
getrandbits(StarlarkInt) - Method in class org.microproxy.starlark.stdlib.RandomModule
Produces a non-negative integer with at most the requested number of bits.
getRealm() - Method in interface org.microproxy.ProxyAuthenticator
Returns the realm advertised in the default Proxy-Authenticate; null for the default.
getRemoteAddress() - Method in class org.microproxy.FullFlowContext
Returns the address the proxy is connected to: the server, or the chained proxy.
getScriptCallObserver() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the script call observer configured so far, or null.
getServerConnectionPoolMetrics() - Method in interface org.microproxy.HttpProxyServer
Returns statistics of the shared server connection pool, or null if it is disabled.
getServerHostAndPort() - Method in class org.microproxy.FullFlowContext
Returns the host:port the client asked for.
getSslContext() - Method in interface org.microproxy.ChainedProxy
 
getSslContext() - Method in interface org.microproxy.SslContextSource
Returns the TLS context for this connection.
getSslContext() - Method in class org.microproxy.tls.KeyStoreSslContextSource
 
getSslContext() - Method in class org.microproxy.tls.SelfSignedSslContextSource
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ProtoFixed
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ProtoGroup
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptClientHello
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptContext
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptFailure
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptFrame
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptFrameContext
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptHeaders
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptHttpFrame
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptQuicContext
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptQuicMessage
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptRequest
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptResponse
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptTcpContext
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptTcpMessage
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptTimings
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptUdpContext
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptUdpMessage
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptUsageValue
 
getStarlarkType(StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptWebSocketMessage
 
getStats() - Method in interface org.microproxy.HttpProxyServer
getStats() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the registry configured so far: StatsRegistry.NOOP without metrics.
getStreamId() - Method in class org.microproxy.FlowContext
The HTTP/2 or HTTP/3 stream that carries this flow's exchange, or 0 when the client connection is HTTP/1 (whose exchanges run one after another).
getTcpInterceptor() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the TCP interceptor configured so far, or null.
getTimingData(String) - Method in class org.microproxy.FlowContext
Returns a named legacy timing value.
getTimings() - Method in class org.microproxy.FlowContext
Returns the legacy timing values.
getTracer() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the tracer configured so far: FlowTracer.NOOP without one.
getTransparentQuicAddress() - Method in interface org.microproxy.HttpProxyServer
The UDP address of the transparent QUIC listener (HttpProxyServerBootstrap.withTransparentQuicPort(int)), with the port it bound.
getTxNumber() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Allocates the next packet number.
getUdpInterceptor() - Method in interface org.microproxy.HttpProxyServerBootstrap
Returns the UDP interceptor configured so far, or null.
getUsername() - Method in interface org.microproxy.ChainedProxy
Returns user name for upstream authentication (HTTP Basic or SOCKS), or null.
getUserName() - Method in class org.microproxy.ClientDetails
Returns the authenticated user name, or null.
getValue(String) - Method in class org.microproxy.starlark.ProtoFixed
 
getValue(String) - Method in class org.microproxy.starlark.ProtoGroup
 
getValue(String) - Method in class org.microproxy.starlark.ScriptClientHello
 
getValue(String) - Method in class org.microproxy.starlark.ScriptContext
 
getValue(String) - Method in class org.microproxy.starlark.ScriptFailure
 
getValue(String) - Method in class org.microproxy.starlark.ScriptFrame
 
getValue(String) - Method in class org.microproxy.starlark.ScriptFrameContext
 
getValue(String) - Method in class org.microproxy.starlark.ScriptHttpFrame
 
getValue(String) - Method in class org.microproxy.starlark.ScriptQuicContext
 
getValue(String) - Method in class org.microproxy.starlark.ScriptQuicMessage
 
getValue(String) - Method in class org.microproxy.starlark.ScriptRequest
 
getValue(String) - Method in class org.microproxy.starlark.ScriptResponse
 
getValue(String) - Method in class org.microproxy.starlark.ScriptTcpContext
 
getValue(String) - Method in class org.microproxy.starlark.ScriptTcpMessage
 
getValue(String) - Method in class org.microproxy.starlark.ScriptTimings
 
getValue(String) - Method in class org.microproxy.starlark.ScriptUdpContext
 
getValue(String) - Method in class org.microproxy.starlark.ScriptUdpMessage
 
getValue(String) - Method in class org.microproxy.starlark.ScriptUsageValue
 
getValue(String) - Method in class org.microproxy.starlark.ScriptWebSocketMessage
 
global(String) - Method in class org.microproxy.starlark.StarlarkScript
The value of the global name (frozen), or null when the script sets none.
GoAway(int, int, byte[]) - Constructor for record class io.github.mahmoudimus.http2.Frame.GoAway
Creates GOAWAY with a nonnegative last stream identifier.
GoAway(int, long, byte[]) - Constructor for record class org.microproxy.frames.Http2Frame.GoAway
Creates GOAWAY.
GoAway(int, ErrorCode, byte[]) - Constructor for record class io.github.mahmoudimus.http2.Frame.GoAway
Creates a frame with the given error code.
GoAway(long) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.GoAway
Creates GOAWAY.
GoAway(long) - Constructor for record class org.microproxy.frames.Http3Frame.GoAway
Creates GOAWAY.
GOAWAY - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for connection shutdown.
GOAWAY - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
GOAWAY (§7.2.6).
GRADUAL - Enum constant in enum class org.microproxy.DrainStrategy
The chance that a request drains its connection grows from 0 at the start of the drain to 1 at its end, so clients move away gradually rather than all at once (the default).
grease(long, long) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Adds the reserved (greasing) setting 0x1f * n + 0x21 with the given value.
grease(Random) - Static method in record class io.github.mahmoudimus.quic.params.UnknownParameter
A reserved parameter with a random ID of the form 31 * N + 27 and up to 15 random bytes, to exercise the peer's handling of unknown parameters (RFC 9000 section 18.1).
greaseQuicBit() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the greaseQuicBit record component.
greaseQuicBit(boolean) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets grease_quic_bit.
Group(ProtoMessage) - Constructor for record class org.microproxy.contentviews.ProtoValue.Group
Wraps message.
GROUP - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
A proto2 group.
groups() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns the value of the groups record component.
groups(NamedGroup...) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The key exchange groups, most preferred first.
Grpc - Class in org.microproxy.contentviews
gRPC's message framing: a body is a sequence of messages, each a compressed flag (one byte), a length (four bytes, big-endian) and that many bytes of payload, compressed with the coding the grpc-encoding header names when the flag is set.
Grpc.Detail - Record Class in org.microproxy.contentviews
One entry of a status's details: a google.protobuf.Any.
Grpc.Frame - Record Class in org.microproxy.contentviews
One framed message, as it is on the wire.
Grpc.Status - Record Class in org.microproxy.contentviews
A google.rpc.Status, as servers send it in grpc-status-details-bin.
GT - Enum constant in enum class org.microproxy.extras.AccessLogFilter.Comparison
Greater than.

H

H2 - Static variable in record class org.microproxy.ClientHello
The ALPN identifier of HTTP/2 over TLS.
H2_CONTINUATION - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
HTTP/2's CONTINUATION, forbidden in HTTP/3.
H2_PING - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
HTTP/2's PING, forbidden in HTTP/3.
H2_PRIORITY - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
HTTP/2 frame types with no HTTP/3 equivalent: PRIORITY (0x02), PING (0x06), WINDOW_UPDATE (0x08) and CONTINUATION (0x09).
H2_WINDOW_UPDATE - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
HTTP/2's WINDOW_UPDATE, forbidden in HTTP/3.
H3_CLOSED_CRITICAL_STREAM - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A stream the connection needs was closed or reset.
H3_CONNECT_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The connection of a CONNECT request was reset or closed abnormally.
H3_DATAGRAM - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
 
H3_DATAGRAM_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
An HTTP Datagram or the Capsule Protocol was misused (RFC 9297 §5.2).
H3_EXCESSIVE_LOAD - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The peer is generating excessive load.
H3_FRAME_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A frame that fails its layout requirements, or of the wrong size.
H3_FRAME_UNEXPECTED - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A frame not permitted in the current state or on the current stream.
H3_GENERAL_PROTOCOL_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A protocol violation no more specific code covers.
H3_ID_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A stream or push identifier was used incorrectly.
H3_INTERNAL_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
An internal error in the HTTP stack.
H3_MESSAGE_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A malformed HTTP message.
H3_MISSING_SETTINGS - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
No SETTINGS frame at the start of the control stream.
H3_NO_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
No error: the connection or stream is closing without one.
H3_REQUEST_CANCELLED - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The request or its response is cancelled.
H3_REQUEST_INCOMPLETE - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The client's stream ended without a complete request.
H3_REQUEST_REJECTED - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The server rejected a request without processing any of it.
H3_SETTINGS_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
An error in the payload of a SETTINGS frame.
H3_STREAM_CREATION_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The peer created a stream that will not be accepted.
H3_VERSION_FALLBACK - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
The request should be retried over HTTP/1.1.
h3Datagram() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns the value of the h3Datagram record component.
h3Datagram(boolean) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Sets SETTINGS_H3_DATAGRAM.
handle(long, InetSocketAddress, int, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Routes a datagram.
handle(long, InetSocketAddress, int, ByteBuffer, ServerConfig) - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Routes a datagram, accepting a connection it starts with accept instead of the endpoint's server configuration: for a server whose connections differ, such as a proxy that offers each client the protocols and transport parameters of the server it reaches.
handleDatagram(long, InetSocketAddress, int, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Connection
Processes a datagram from the peer that arrived at the endpoint's default local address.
handleDatagram(long, InetSocketAddress, InetSocketAddress, int, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Connection
Processes a datagram from the peer: splits coalesced packets, removes protection, and handles their frames.
handleEvent(Connection, EndpointEvent) - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Applies a connection's endpoint event to the routes.
handleTimeout(long) - Method in class io.github.mahmoudimus.quic.connection.Connection
Handles expired timers: loss detection and probes, idle timeout, the end of closing and draining, key discard, connection ID rotation, delayed ACKs and keep-alives.
Handshake(QuicVersion, ConnectionId, ConnectionId, long, int) - Constructor for record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
A Handshake header.
HANDSHAKE - Enum constant in enum class io.github.mahmoudimus.quic.connection.SpaceId
Handshake packets.
HANDSHAKE - Enum constant in enum class io.github.mahmoudimus.quic.EncryptionLevel
Keys from the TLS handshake secrets.
HANDSHAKE - Enum constant in enum class io.github.mahmoudimus.quic.packet.PacketType
Handshake (long header).
HANDSHAKE_DONE - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
HANDSHAKE_DONE (0x1e), sent by servers only.
HANDSHAKE_FAILURE - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
No acceptable set of security parameters could be negotiated (40).
handshakeCid() - Method in class io.github.mahmoudimus.quic.connection.Connection
The local connection ID used during the handshake.
handshakeCompleted(QuicConnection, Duration) - Method in interface io.github.mahmoudimus.quic.QuicConnection.Observer
A connection's handshake completed.
HandshakeConfirmed() - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeConfirmed
Creates an instance of a HandshakeConfirmed record class.
HandshakeDataReady() - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeDataReady
Creates an instance of a HandshakeDataReady record class.
handshakeDone - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Whether a HANDSHAKE_DONE is needed.
HandshakeDone() - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
Creates an instance of a HandshakeDone record class.
HAPROXY - Enum constant in enum class org.microproxy.extras.LogFormat
HAProxy-style HTTP log: client [date] "request" status bytes duration, as %DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT% [%START_TIME(%d/%b/%Y:%H:%M:%S.%3f)%] "%REQ(:METHOD)% %MP_URL% %PROTOCOL%" %RESPONSE_CODE% %BYTES_SENT% %DURATION%.
HarRecorder - Class in org.microproxy.extras
Records exchanges as an HTTP Archive (HAR 1.2), as mitmproxy's hardump / save.har do, for browsers' developer tools, HAR viewers and ServerReplay.
HarRecorder.Builder - Class in org.microproxy.extras
Configures a HarRecorder.
hasHandshakeData(EncryptionLevel) - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether handshake bytes are queued at a level.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Data
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Ping
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Priority
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Settings
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Frame.WindowUpdate
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.HeaderField
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.HeaderField
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.CancelPush
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Data
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.GoAway
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Headers
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.MaxPushId
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Settings
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.congestion.BbrConfig
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.congestion.CubicConfig
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Connected
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.ConnectionLost
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.DatagramReceived
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeConfirmed
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeDataReady
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathProbeFailed
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathUpdated
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Stream
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Deliver
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.NewConnection
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Response
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidIssued
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidRetired
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.Drained
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.ResetToken
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.IssuedCid
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.LocalCidState.Retirement
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Returns a hash code value for this object.
hashCode() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
 
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.Retransmits.PendingReset
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.SessionCache
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Available
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Finished
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Opened
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Readable
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Stopped
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Writable
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamId
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.StreamsState.Written
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.connection.Transmit
Returns a hash code value for this object.
hashCode() - Method in class io.github.mahmoudimus.quic.ConnectionId
 
hashCode() - Method in record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.crypto.Keys
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.EndpointStats
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckRange
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.Packet
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.params.UnknownParameter
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.params.VersionInformation
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.Secrets
Returns a hash code value for this object.
hashCode() - Method in class io.github.mahmoudimus.quic.StatelessResetToken
 
hashCode() - Method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.token.IncomingToken
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
Returns a hash code value for this object.
hashCode() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Validation
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.AuthResult.Accepted
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.AuthResult.Rejected
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ClientHello
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ContentViews.Rendered
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.Grpc.Detail
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.Grpc.Frame
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoField
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoMessage
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoSchema.EnumType
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Bytes
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Group
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Message
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Packed
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Text
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.contentviews.ProtoValue.Varint
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Address
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Mx
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Name
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Opaque
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Question
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Srv
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnsMessage.Txt
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.dns.DnssecHostResolver.Resolution
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.BlockList.Rule
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.ClientReplay.Result
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.MapLocal.Rule
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.MapRemote.Rule
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.RecordedExchange
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.extras.ServerReplay.Extra
Returns a hash code value for this object.
hashCode() - Method in class org.microproxy.FlowContext
 
hashCode() - Method in record class org.microproxy.FlowTimings
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Field
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.Data
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.GoAway
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.Headers
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.Ping
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.Priority
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.RstStream
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.Settings
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.Unknown
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.CancelPush
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.Data
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.GoAway
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.Headers
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.MaxPushId
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.PushPromise
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.Settings
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.frames.Http3Frame.Unknown
Returns a hash code value for this object.
hashCode() - Method in class org.microproxy.http.HttpMethod
 
hashCode() - Method in record class org.microproxy.http.HttpResponseStatus
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.http.HttpVersion
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.http.WebSocketMessage
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.KeyMaterial
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.otel.SpanContext
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.otel.SpanLimits
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.PoolMetrics
Returns a hash code value for this object.
hashCode() - Method in class org.microproxy.ProtocolPolicy
 
hashCode() - Method in record class org.microproxy.ProxyFailure.BadRequest
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.BadServerResponse
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.ConnectFailed
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.NoConnectionAvailable
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.NoRoute
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.RequestTooLarge
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.ServerTimeout
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.TlsFailed
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.ProxyFailure.UnresolvedHost
Returns a hash code value for this object.
hashCode() - Method in class org.microproxy.RetryBackoff
 
hashCode() - Method in record class org.microproxy.ReverseProxyMode
Returns a hash code value for this object.
hashCode() - Method in class org.microproxy.starlark.ProtoFixed
 
hashCode() - Method in class org.microproxy.starlark.ProtoGroup
 
hashCode() - Method in record class org.microproxy.starlark.StarlarkScript.Limits
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.starlark.stdlib.Stdlib.Limits
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.stats.Tag
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.stats.TagExtractor.Result
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.stats.TagExtractor.Rule
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.TlsServerIdentity
Returns a hash code value for this object.
hashCode() - Method in record class org.microproxy.warc.WarcReader.Record
Returns a hash code value for this object.
hashLength() - Method in class io.github.mahmoudimus.quic.Hkdf
The length of the hash, which is also the length of Hkdf.extract(byte[], byte[]) output.
HashlibModule - Class in org.microproxy.starlark.stdlib
@stdlib//jhashlib: the JDK's message digests and MACs for hashlib.star and hmac.star (starlarky built these on BouncyCastle).
HashlibModule.HashObject - Class in org.microproxy.starlark.stdlib
A hashlib hash object.
HashlibModule.HmacObject - Class in org.microproxy.starlark.stdlib
An hmac HMAC object.
hasInFlight() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Whether any congestion-controlled packet of this space is unacknowledged and not lost.
hasInFlight() - Method in class io.github.mahmoudimus.quic.connection.SentPackets
Whether any tracked packet counts in flight.
hasRate() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Whether the sample gives a rate.
hasSample() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
Whether a sample has been taken.
hasStream(int) - Method in class io.github.mahmoudimus.http2.FlowController
Checks whether a stream is tracked.
hasUnsentData() - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Whether there is data to send, new or lost.
HEAD - Static variable in class org.microproxy.http.HttpMethod
The HEAD request method.
header() - Method in record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Returns the value of the header record component.
header() - Method in record class io.github.mahmoudimus.quic.packet.Packet
Returns the value of the header record component.
header() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The decoded header: available at once for Retry and Version Negotiation packets, and for protected packets after ProtectedPacket.removeHeaderProtection(io.github.mahmoudimus.quic.crypto.HeaderKey, long).
header(String) - Method in record class org.microproxy.contentviews.ContentView.Metadata
A header field's first value.
header(String) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes requests that carry the field name (or the pseudo-header, such as :path).
header(String, String) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes requests whose field name matches regex as a whole.
header(String, String) - Method in class org.microproxy.otel.Telemetry.Builder
Adds a header to every export, such as authorization.
HEADER_TABLE_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The SETTINGS_HEADER_TABLE_SIZE identifier.
headerEquals(String, String) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes requests whose field name is exactly value.
HeaderField - Record Class in io.github.mahmoudimus.http2
One header or trailer field (a name and a value) as HPACK carries it.
HeaderField - Record Class in io.github.mahmoudimus.http3
One header or trailer field (a name and a value) as QPACK carries it.
HeaderField(String, String) - Constructor for record class io.github.mahmoudimus.http2.HeaderField
Creates a field without an explicit never-indexed requirement.
HeaderField(String, String) - Constructor for record class io.github.mahmoudimus.http3.HeaderField
Creates a field that may enter a compression context.
HeaderField(String, String, boolean) - Constructor for record class io.github.mahmoudimus.http2.HeaderField
Creates a field with the given indexing sensitivity.
HeaderField(String, String, boolean) - Constructor for record class io.github.mahmoudimus.http3.HeaderField
Creates a field.
HeaderKey - Class in io.github.mahmoudimus.quic.crypto
A header protection key (RFC 9001 section 5.4): masks the low bits of the first byte and the packet number with five bytes derived from a 16-byte sample of the ciphertext.
HeaderLayout - Record Class in io.github.mahmoudimus.quic.packet
Where an encoded header's fields sit in the packet buffer, so that protection can fill in the Length field and mask the packet number once the payload is written.
HeaderLayout(int, int, int, int, int) - Constructor for record class io.github.mahmoudimus.quic.packet.HeaderLayout
Creates an instance of a HeaderLayout record class.
headerLength() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
The header length.
HeaderListSizeException - Exception Class in io.github.mahmoudimus.http2
A decoded field section is larger than the decoder's SETTINGS_MAX_HEADER_LIST_SIZE.
headerProtectionLabel() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The HKDF label for the header protection key: "quic hp" or "quicv2 hp".
headers() - Method in class org.microproxy.cache.CachedResponse
Returns a copy of the stored header fields.
headers() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns the value of the headers record component.
headers() - Method in class org.microproxy.http.DefaultHttpRequest
 
headers() - Method in class org.microproxy.http.DefaultHttpResponse
 
headers() - Method in interface org.microproxy.http.HttpMessage
Returns the mutable header fields of this message.
headers(int, List<Field>, boolean) - Static method in interface org.microproxy.frames.Http2Frame
A HEADERS frame to inject.
headers(List<Field>) - Static method in interface org.microproxy.frames.Http3Frame
A HEADERS frame to inject.
Headers(byte[]) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.Headers
Creates HEADERS.
Headers(int, byte[], boolean) - Constructor for record class io.github.mahmoudimus.http2.Frame.Headers
A complete, unpadded field block without priority.
Headers(int, byte[], boolean, boolean, Frame.PrioritySpec, int) - Constructor for record class io.github.mahmoudimus.http2.Frame.Headers
Creates HEADERS with a nonzero stream and valid padding.
Headers(int, List<Field>, boolean) - Constructor for record class org.microproxy.frames.Http2Frame.Headers
Creates HEADERS.
Headers(List<Field>) - Constructor for record class org.microproxy.frames.Http3Frame.Headers
Creates HEADERS.
HEADERS - Enum constant in enum class org.microproxy.extras.HttpLogger.Level
Also the headers, and how the proxy and filters changed them.
HEADERS - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for a header field block fragment.
HEADERS - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
HEADERS (§7.2.2).
headersReceived() - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Whether a complete header section has been received on a request or push stream.
headerTableSize() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the headerTableSize record component.
headerTableSize(long) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets the HPACK table limit.
help() - Method in interface org.microproxy.stats.Metric
Returns a one-line description for Prometheus's # HELP line, or an empty string.
heuristic(double, Duration) - Method in class org.microproxy.cache.HttpCache.Builder
The heuristic lifetime: this fraction of the time since Last-Modified, at most max.
hexdigest() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Computes the hash as hexadecimal without changing this object.
hexdigest() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Computes the HMAC as hexadecimal without changing this object.
higher(long) - Method in class io.github.mahmoudimus.quic.connection.SentPackets
The first packet numbered above pn.
histogram(String) - Method in class org.microproxy.starlark.ScriptStats
stats.histogram(name): the histogram script.<name>.
histogram(String) - Method in class org.microproxy.stats.StatsRegistry
The histogram named name, made the first time with the registry's bounds (StatsRegistry.Builder.histogramBounds, Envoy's by default).
histogram(String) - Method in class org.microproxy.stats.StatsScope
The histogram <prefix>.<name>, with the registry's bounds, made the first time while there is room.
histogram(String, String) - Method in class org.microproxy.stats.StatsRegistry
The histogram named name, made the first time with help and the registry's bounds.
histogram(String, String, double...) - Method in class org.microproxy.stats.StatsRegistry
The histogram named name, made the first time with help and bounds.
Histogram - Interface in org.microproxy.stats
A distribution of recorded values in fixed buckets, such as downstream_rq_time: one LongAdder per bucket, plus the sum and the count of the values, so recording takes no lock and allocates nothing.
HISTOGRAM - Enum constant in enum class org.microproxy.stats.Metric.Type
A distribution of recorded values in fixed buckets (Histogram).
Histogram.Snapshot - Class in org.microproxy.stats
The counts of a histogram at one moment.
histogramBounds() - Method in class org.microproxy.stats.StatsRegistry
Returns a copy of the bucket bounds of histograms registered without bounds of their own.
histogramBounds(double...) - Method in class org.microproxy.stats.StatsRegistry.Builder
The bucket bounds of histograms registered without bounds of their own (default Envoy's, Histogram.defaultBounds()).
hits() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns the value of the hits record component.
hkdf() - Method in enum class io.github.mahmoudimus.quic.CipherSuite
The HKDF over the suite's hash.
Hkdf - Class in io.github.mahmoudimus.quic
HKDF (RFC 5869) over an HMAC, and the HKDF-Expand-Label of TLS 1.3 (RFC 8446 section 7.1) that QUIC uses for its secrets and keys (RFC 9001 section 5.1).
hmac(Object, Object, String, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.HashlibModule
Creates a keyed HMAC object, optionally initialized with message bytes.
host() - Method in interface org.microproxy.quic.QuicContext
The host the connection goes to: the SNI's on the transparent QUIC listener, the CONNECT-UDP target's inside a flow.
host() - Method in record class org.microproxy.ReverseProxyMode
Returns the value of the host record component.
host() - Method in interface org.microproxy.tcp.TcpContext
The host the tunnel goes to: the CONNECT target's, the SNI's on a transparent listener, or the upstream's in reverse:tcp:// mode.
host() - Method in interface org.microproxy.udp.UdpContext
The host the flow goes to, as the CONNECT-UDP request named it.
HOST - Static variable in class org.microproxy.http.HttpHeaderNames
The Host header field name.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.BadServerResponse
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.ConnectFailed
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.NoConnectionAvailable
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.NoRoute
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.ServerTimeout
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.TlsFailed
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ProxyFailure.UnresolvedHost
Returns the value of the hostAndPort record component.
hostAndPort() - Method in record class org.microproxy.ReverseProxyMode
Returns the upstream as host:port, with IPv6 addresses in brackets.
hostHeader() - Method in record class org.microproxy.ReverseProxyMode
The Host field requests get: the host, with the port unless it is the scheme's default, as mitmproxy's url.hostport writes it.
HOSTNAME_MISMATCH - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The certificate is trusted, but not valid for the host name it was checked against.
HostResolver - Interface in org.microproxy
Resolves server host names.
HpackDecoder - Class in io.github.mahmoudimus.http2
Decodes HPACK field blocks (RFC 7541).
HpackDecoder() - Constructor for class io.github.mahmoudimus.http2.HpackDecoder
A decoder with the protocol's initial table size, 4096.
HpackDecoder(int) - Constructor for class io.github.mahmoudimus.http2.HpackDecoder
A decoder whose dynamic table starts with the given maximum size, which both sides must already agree on: in HTTP/2, 4096 (the initial SETTINGS_HEADER_TABLE_SIZE).
HpackEncoder - Class in io.github.mahmoudimus.http2
Encodes field sections into HPACK field blocks (RFC 7541).
HpackEncoder() - Constructor for class io.github.mahmoudimus.http2.HpackEncoder
An encoder with the protocol's initial table size, 4096, which it will not exceed.
HpackEncoder(int) - Constructor for class io.github.mahmoudimus.http2.HpackEncoder
An encoder whose dynamic table starts at maxHeaderTableSize, which both sides must already agree on (in HTTP/2, 4096).
HTTP - Enum constant in enum class org.microproxy.ChainedProxyType
HTTP CONNECT upstream proxy, over HTTP/1.1 or (with ChainedProxy.http2()) HTTP/2.
HTTP_1_0 - Static variable in record class org.microproxy.ClientHello
The ALPN identifier of HTTP/1.0.
HTTP_1_0 - Static variable in record class org.microproxy.http.HttpVersion
 
HTTP_1_1 - Static variable in record class org.microproxy.ClientHello
The ALPN identifier of HTTP/1.1.
HTTP_1_1 - Static variable in record class org.microproxy.http.HttpVersion
 
HTTP_1_1_REQUIRED - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The peer requires HTTP/1.1 instead.
HTTP_2 - Enum constant in enum class org.microproxy.frames.FrameProtocol
HTTP/2 (RFC 9113): Http2Frame.
HTTP_2_0 - Static variable in record class org.microproxy.http.HttpVersion
HTTP/2: the version of requests that arrived on an HTTP/2 stream.
HTTP_3 - Enum constant in enum class org.microproxy.frames.FrameProtocol
HTTP/3 (RFC 9114): Http3Frame.
HTTP_3_0 - Static variable in record class org.microproxy.http.HttpVersion
HTTP/3: the version of requests that arrived on an HTTP/3 (QUIC) stream, and of responses from servers reached over HTTP/3.
HTTP_JSON - Enum constant in enum class org.microproxy.otel.Telemetry.Protocol
OTLP/HTTP with application/json bodies, ids in hex.
HTTP_PROTOBUF - Enum constant in enum class org.microproxy.otel.Telemetry.Protocol
OTLP/HTTP with application/x-protobuf bodies.
HTTP1 - Enum constant in enum class org.microproxy.FlowRecord.Kind
An HTTP/1.x exchange (h1).
Http1PolicyBuilder - Class in org.microproxy
Http1PolicyBuilder() - Constructor for class org.microproxy.Http1PolicyBuilder
An empty builder: every field left to what applies below the policy.
http2() - Method in interface org.microproxy.ChainedProxy
Whether to speak HTTP/2 to this proxy (an ChainedProxyType.HTTP one) rather than HTTP/1.1: its connections are then shared, each CONNECT tunnel and each plain-HTTP request a stream of one (RFC 9113 section 8.5), up to the proxy's SETTINGS_MAX_CONCURRENT_STREAMS, with another connection opened when they are full.
HTTP2 - Enum constant in enum class org.microproxy.FlowRecord.Kind
An HTTP/2 stream's exchange (h2).
Http2Exception - Exception Class in io.github.mahmoudimus.http2
A violation of HTTP/2 or HPACK by the peer (or a limit it exceeded), with the error code to send back and the scope of the error (RFC 9113 §5.4).
Http2Exception(ErrorCode, int, boolean, String) - Constructor for exception class io.github.mahmoudimus.http2.Http2Exception
Creates an error with an explicit protocol scope.
Http2Frame - Interface in org.microproxy.frames
An HTTP/2 frame (RFC 9113 section 6) as a FrameInterceptor sees it: decoded, with header blocks as field lists (Field).
Http2Frame.Data - Record Class in org.microproxy.frames
DATA (section 6.1).
Http2Frame.GoAway - Record Class in org.microproxy.frames
GOAWAY (section 6.8).
Http2Frame.Headers - Record Class in org.microproxy.frames
HEADERS (section 6.2), with its whole decoded header block.
Http2Frame.Ping - Record Class in org.microproxy.frames
PING (section 6.7); its 8 opaque octets as a big-endian long.
Http2Frame.Priority - Record Class in org.microproxy.frames
PRIORITY (section 6.3), deprecated by RFC 9113; the proxy ignores it and never sends one.
Http2Frame.PushPromise - Record Class in org.microproxy.frames
PUSH_PROMISE (section 6.6).
Http2Frame.RstStream - Record Class in org.microproxy.frames
RST_STREAM (section 6.4).
Http2Frame.Settings - Record Class in org.microproxy.frames
SETTINGS (section 6.5): the identifiers and values the frame carries, in order.
Http2Frame.Unknown - Record Class in org.microproxy.frames
A frame of an extension type (section 5.5), such as ALTSVC (10) or PRIORITY_UPDATE (16).
Http2Frame.WindowUpdate - Record Class in org.microproxy.frames
WINDOW_UPDATE (section 6.9), for a stream or the connection (stream 0).
Http2Headers - Class in io.github.mahmoudimus.http2
HTTP semantics of HTTP/2 field sections (RFC 9113 §8.2, §8.3): validating decoded header lists into RequestHeaders and ResponseHeaders, and building header lists from HTTP/1-style messages.
Http2Options - Class in org.microproxy
Limits for HTTP/2 client connections (HttpProxyServerBootstrap.withHttp2(boolean)).
Http2Options.Builder - Class in org.microproxy
Builds Http2Options.
Http2Settings - Record Class in io.github.mahmoudimus.http2
The SETTINGS parameters of one endpoint (RFC 9113 §6.5.2).
Http2Settings(long, boolean, long, int, int, long) - Constructor for record class io.github.mahmoudimus.http2.Http2Settings
Source-compatible constructor for the original HTTP/2 settings.
Http2Settings(long, boolean, long, int, int, long, boolean) - Constructor for record class io.github.mahmoudimus.http2.Http2Settings
Creates settings after checking their protocol ranges.
Http2Settings.Builder - Class in io.github.mahmoudimus.http2
Builds Http2Settings, starting from the protocol's initial values.
HTTP3 - Enum constant in enum class org.microproxy.FlowRecord.Kind
An HTTP/3 stream's exchange (h3).
Http3ErrorCode - Enum Class in io.github.mahmoudimus.http3
The HTTP/3 error codes (RFC 9114 §8.1), the QPACK error codes (RFC 9204 §6) and H3_DATAGRAM_ERROR (RFC 9297 §5.2).
Http3Exception - Exception Class in io.github.mahmoudimus.http3
A violation of HTTP/3 or QPACK by the peer (or a limit it exceeded), with the error code to send back and the scope of the error (RFC 9114 §8).
Http3Exception(Http3ErrorCode, long, String) - Constructor for exception class io.github.mahmoudimus.http3.Http3Exception
Http3Frame - Interface in io.github.mahmoudimus.http3
One HTTP/3 frame (RFC 9114 §7.2).
Http3Frame - Interface in org.microproxy.frames
An HTTP/3 frame (RFC 9114 section 7.2) as a FrameInterceptor sees it, decoded, with header sections as field lists (Field) decoded through QPACK.
Http3Frame.CancelPush - Record Class in io.github.mahmoudimus.http3
CANCEL_PUSH (§7.2.3), on the control stream.
Http3Frame.CancelPush - Record Class in org.microproxy.frames
CANCEL_PUSH (section 7.2.3), on the control stream.
Http3Frame.Data - Record Class in io.github.mahmoudimus.http3
DATA (§7.2.1): part of a message's content.
Http3Frame.Data - Record Class in org.microproxy.frames
DATA (section 7.2.1).
Http3Frame.GoAway - Record Class in io.github.mahmoudimus.http3
GOAWAY (§7.2.6), on the control stream.
Http3Frame.GoAway - Record Class in org.microproxy.frames
GOAWAY (section 7.2.6), on the control stream: from a server, the first client-initiated request stream it will not process; from a client, a push id.
Http3Frame.Headers - Record Class in io.github.mahmoudimus.http3
HEADERS (§7.2.2): a QPACK-encoded field section, decoded with QpackDecoder.
Http3Frame.Headers - Record Class in org.microproxy.frames
HEADERS (section 7.2.2), with its field section decoded.
Http3Frame.MaxPushId - Record Class in io.github.mahmoudimus.http3
MAX_PUSH_ID (§7.2.7), sent by a client on the control stream.
Http3Frame.MaxPushId - Record Class in org.microproxy.frames
MAX_PUSH_ID (section 7.2.7), from a client on the control stream.
Http3Frame.PushPromise - Record Class in io.github.mahmoudimus.http3
PUSH_PROMISE (§7.2.5): a promised request's QPACK-encoded field section, on a request stream.
Http3Frame.PushPromise - Record Class in org.microproxy.frames
PUSH_PROMISE (section 7.2.5), from a server on a request stream.
Http3Frame.Settings - Record Class in io.github.mahmoudimus.http3
SETTINGS (§7.2.4), the first frame on each control stream and sent once.
Http3Frame.Settings - Record Class in org.microproxy.frames
SETTINGS (section 7.2.4), the first frame of the control stream.
Http3Frame.Unknown - Record Class in io.github.mahmoudimus.http3
A frame of any other type: an extension, or a reserved type (0x1f * N + 0x21) used for greasing.
Http3Frame.Unknown - Record Class in org.microproxy.frames
A frame of an extension or reserved type, such as a grease frame (type 0x1f * N + 0x21) or PRIORITY_UPDATE (RFC 9218).
Http3FramePipeline - Class in org.microproxy.frames
Runs a FrameInterceptor over HTTP/3 traffic given as the bytes of its streams: it reads frames from a request stream or a control stream, shows each to the interceptor as an Http3Frame (HEADERS decoded through QPACK), and writes what comes back to an output stream.
Http3FramePipeline.Builder - Class in org.microproxy.frames
Options for Http3FramePipeline.
Http3FrameReader - Class in io.github.mahmoudimus.http3
Reads HTTP/3 frames from one QUIC stream's bytes, one call per frame, validating everything that can be checked from a frame on its own (RFC 9114 §7).
Http3FrameReader(InputStream) - Constructor for class io.github.mahmoudimus.http3.Http3FrameReader
A reader for one stream.
Http3FrameType - Class in io.github.mahmoudimus.http3
HTTP/3 frame type codes (RFC 9114 §7.2, §11.2.1).
Http3FrameWriter - Class in io.github.mahmoudimus.http3
Writes HTTP/3 frames to one QUIC stream.
Http3FrameWriter(OutputStream) - Constructor for class io.github.mahmoudimus.http3.Http3FrameWriter
A writer for one stream.
Http3Headers - Class in io.github.mahmoudimus.http3
HTTP semantics of HTTP/3 field sections (RFC 9114 §4.2, §4.3): validating decoded field lists into RequestHeaders and ResponseHeaders.
Http3Options - Class in org.microproxy
Http3Options.Builder - Class in org.microproxy
Builds Http3Options.
Http3Options.QuicCongestionControl - Enum Class in org.microproxy
The congestion controllers of the proxy's QUIC connections (see Http3Options.Builder.quicCongestionControl).
Http3Settings - Record Class in io.github.mahmoudimus.http3
The SETTINGS parameters of one endpoint (RFC 9114 §7.2.4).
Http3Settings(long, long, long, boolean, boolean, Map<Long, Long>) - Constructor for record class io.github.mahmoudimus.http3.Http3Settings
Creates settings.
Http3Settings.Builder - Class in io.github.mahmoudimus.http3
Builds Http3Settings, starting from the defaults.
Http3StreamType - Class in io.github.mahmoudimus.http3
The types of unidirectional streams (RFC 9114 §6.2, RFC 9204 §4.2): each such stream starts with its type as a variable-length integer.
Http3StreamValidator - Class in io.github.mahmoudimus.http3
Checks which frames the peer may send on one stream, and in what order (RFC 9114 §4.1, §6.2.1, §7.2).
Http3StreamValidator.Kind - Enum Class in io.github.mahmoudimus.http3
The kind of stream a validator checks.
Http3StreamValidator.Role - Enum Class in io.github.mahmoudimus.http3
Which end of the connection this endpoint is.
Http3StreamValidator.UnidirectionalStreams - Class in io.github.mahmoudimus.http3
The peer's unidirectional streams (RFC 9114 §6.2, RFC 9204 §4.2): at most one control stream, one QPACK encoder stream and one QPACK decoder stream, and push streams only from a server.
httpAlpnProtocols(boolean) - Method in record class org.microproxy.ClientHello
The client's ALPN protocols that the proxy can speak over TLS: h2 (when withHttp2 is set), http/1.1 and http/1.0, in the client's order.
HttpBodies - Class in org.microproxy.http
Reads and rewrites the bodies of buffered messages (FullHttpMessage) in filters, taking care of Content-Encoding and charsets so filters don't have to.
HttpCache - Class in org.microproxy.cache
A shared HTTP cache (RFC 9111) that can also keep a site usable offline.
HttpCache.Answer - Class in org.microproxy.cache
A response made by the cache: a stored response, or its own 504.
HttpCache.Builder - Class in org.microproxy.cache
Options for HttpCache.
HttpCache.Stats - Record Class in org.microproxy.cache
Counters since the cache was created.
HttpContent - Interface in org.microproxy.http
A piece of an HTTP message body.
HttpFilters - Interface in org.microproxy
Hooks into the life of a single request/response exchange.
HttpFiltersAdapter - Class in org.microproxy
Convenience base class for HttpFilters that keeps the original request and context.
HttpFiltersAdapter(HttpRequest) - Constructor for class org.microproxy.HttpFiltersAdapter
Creates filters retaining the original request without a client context.
HttpFiltersAdapter(HttpRequest, FlowContext) - Constructor for class org.microproxy.HttpFiltersAdapter
Creates filters retaining the original request and client context.
HttpFiltersBuilder - Class in org.microproxy
Builds HttpFilters from lambdas, one per hook, instead of a class that overrides the hooks it needs:
HttpFiltersBuilder.Body - Enum Class in org.microproxy
The streams a built filter inspects piece by piece.
HttpFiltersBuilder.Built - Class in org.microproxy
Filters made by HttpFiltersBuilder.
HttpFiltersChain - Class in org.microproxy
Runs several filters sources as one, in order.
HttpFiltersChain.Chained - Class in org.microproxy
The filters of several sources for one request.
HttpFiltersSource - Interface in org.microproxy
Creates the HttpFilters for each request.
HttpFiltersSourceAdapter - Class in org.microproxy
A HttpFiltersSource that applies no filtering and no buffering unless overridden.
HttpFiltersSourceAdapter() - Constructor for class org.microproxy.HttpFiltersSourceAdapter
Creates a source of unbuffered, pass-through request filters.
HttpFrame - Interface in org.microproxy.frames
A decoded HTTP/2 or HTTP/3 frame, as a FrameInterceptor sees it: Http2Frame or Http3Frame.
HttpHeaderNames - Class in org.microproxy.http
Common header names.
HttpHeaders - Class in org.microproxy.http
An ordered, case-insensitive multimap of header fields.
HttpHeaders() - Constructor for class org.microproxy.http.HttpHeaders
Creates an empty header collection.
HttpLogger - Class in org.microproxy.extras
Logs whole requests and responses for debugging and audits, like OkHttp's HttpLoggingInterceptor or a mitmproxy flow dump.
HttpLogger.Builder - Class in org.microproxy.extras
Configures an HttpLogger.
HttpLogger.Format - Enum Class in org.microproxy.extras
How messages are written.
HttpLogger.Level - Enum Class in org.microproxy.extras
How much of each message to log.
HttpMessage - Interface in org.microproxy.http
The head of an HTTP message: protocol version and headers.
HttpMethod - Class in org.microproxy.http
An HTTP request method.
HttpObject - Interface in org.microproxy.http
Base type of everything that flows through HttpFilters: a message head (HttpRequest / HttpResponse), a piece of body (HttpContent), the end of a body (LastHttpContent), or a whole message (FullHttpRequest / FullHttpResponse).
HttpProxyServer - Interface in org.microproxy
A running proxy.
HttpProxyServerBootstrap - Interface in org.microproxy
Configures and starts a HttpProxyServer.
HttpRequest - Interface in org.microproxy.http
The head of an HTTP request.
HttpResponse - Interface in org.microproxy.http
The head of an HTTP response.
HttpResponseStatus - Record Class in org.microproxy.http
An HTTP status code and reason phrase.
HttpResponseStatus(int, String) - Constructor for record class org.microproxy.http.HttpResponseStatus
Creates a status with a validated code and reason phrase.
https(URI, Duration) - Static method in interface org.microproxy.dns.DnsTransport
DNS over HTTPS (RFC 8484) to a resolver such as https://cloudflare-dns.com/dns-query or https://dns.google/dns-query.
HTTPS - Static variable in class org.microproxy.dns.DnsMessage
Type HTTPS: HTTPS service binding (RFC 9460).
HttpUtil - Class in org.microproxy.http
Helpers for connection-management and framing headers.
HttpVersion - Record Class in org.microproxy.http
An HTTP protocol version such as HTTP/1.1.
HttpVersion(int, int) - Constructor for record class org.microproxy.http.HttpVersion
Creates a protocol version.

I

id() - Method in record class io.github.mahmoudimus.http3.Http3Frame.GoAway
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.connection.IssuedCid
Returns the value of the id record component.
id() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Which space this is.
id() - Method in record class io.github.mahmoudimus.quic.connection.Retransmits.PendingReset
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Finished
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Readable
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Stopped
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Writable
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Returns the value of the id record component.
id() - Method in record class io.github.mahmoudimus.quic.params.UnknownParameter
Returns the value of the id record component.
id() - Method in class io.github.mahmoudimus.quic.QuicStream
The stream ID (RFC 9000 section 2.1).
id() - Method in class io.github.mahmoudimus.zstd.ZstdDictionary
Returns the dictionary ID frames refer to it by.
id() - Method in class org.microproxy.dns.DnsMessage
Returns the message ID.
id() - Method in record class org.microproxy.frames.Http3Frame.GoAway
Returns the value of the id record component.
id() - Method in enum class org.microproxy.otel.Telemetry.Protocol
Returns the name OTEL_EXPORTER_OTLP_PROTOCOL uses.
id() - Method in record class org.microproxy.warc.WarcReader.Record
Returns the record id (WARC-Record-ID), or null.
IDLE - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
The idle timeout (RFC 9000 section 10.1): the connection is silently closed.
idleConnections() - Method in record class org.microproxy.PoolMetrics
Returns the value of the idleConnections record component.
idleTimeout() - Method in class io.github.mahmoudimus.quic.connection.Connection
The negotiated idle timeout.
ignoreContent(boolean) - Method in class org.microproxy.extras.ServerReplay.Builder
Ignores request bodies when matching (default false).
ignoreHost(boolean) - Method in class org.microproxy.extras.ServerReplay.Builder
Ignores the host when matching (default false).
ignoreParams(String...) - Method in class org.microproxy.extras.ServerReplay.Builder
Query parameters to ignore when matching.
ignorePayloadParams(String...) - Method in class org.microproxy.extras.ServerReplay.Builder
Form fields of application/x-www-form-urlencoded bodies to ignore when matching; the other fields are compared instead of the whole body.
ignorePort(boolean) - Method in class org.microproxy.extras.ServerReplay.Builder
Ignores the port when matching (default false).
ignoringQuery() - Method in class org.microproxy.extras.RewriteRules.Rule
Matches the URL without its query string.
ILLEGAL_ORDERED_READ - Enum constant in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
An ordered read was attempted after an unordered one.
ILLEGAL_PARAMETER - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A field was out of range or inconsistent with other fields (47).
IMMEDIATE - Enum constant in enum class org.microproxy.DrainStrategy
Every connection is told at once: idle ones are closed, busy ones close after their request in progress.
IMMEDIATE_ACK - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
IMMEDIATE_ACK (0x1f) of the QUIC ACK frequency extension.
ImmediateAck() - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
Creates an instance of a ImmediateAck record class.
immediateAckPending() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Whether an IMMEDIATE_ACK must be sent.
IN - Static variable in class org.microproxy.dns.DnsMessage
Class IN: the Internet.
IN_PLACE - Enum constant in enum class org.microproxy.GeneratedResponses
proxyToClientResponse sees generated responses and may change them in place (headers, status, content), or return null to close the connection without an answer; a different object it returns is ignored (logged at DEBUG) and the generated response, with the changes made to it, is sent.
INADEQUATE_SECURITY - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The connection does not meet security requirements.
INAPPROPRIATE_FALLBACK - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A downgrade was detected (86).
inbound() - Method in enum class org.microproxy.frames.FrameDirection
Whether the proxy received the frame (FrameDirection.FROM_CLIENT, FrameDirection.FROM_SERVER) rather than being about to send it.
inc() - Method in interface org.microproxy.stats.Counter
Adds one.
inc() - Method in interface org.microproxy.stats.Gauge
Adds one.
inc(StarlarkInt) - Method in class org.microproxy.starlark.ScriptStats.ScriptCounter
counter.inc(n=1).
inc(StarlarkInt) - Method in class org.microproxy.starlark.ScriptStats.ScriptGauge
gauge.inc(n=1).
IncomingToken - Record Class in io.github.mahmoudimus.quic.token
What the token in a client's first Initial packet establishes.
IncomingToken(ConnectionId, ConnectionId, boolean) - Constructor for record class io.github.mahmoudimus.quic.token.IncomingToken
The result of validating a token.
increment() - Method in record class io.github.mahmoudimus.http2.Frame.WindowUpdate
Returns the value of the increment record component.
increment() - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
Returns the value of the increment record component.
increment(int) - Method in class io.github.mahmoudimus.http2.FlowControlWindow
Credits the window, as a WINDOW_UPDATE does.
indent(String, String, String) - Method in class org.microproxy.starlark.stdlib.JsonModule
Reformats JSON with a line prefix and indentation unit.
index() - Method in record class io.github.mahmoudimus.quic.connection.StreamId
The stream's index among streams of its type.
indexOf(byte[], int, int, byte) - Static method in class org.microproxy.simd.Simd
Finds the first matching byte within the specified range.
indexOf(byte[], int, int, byte) - Method in interface org.microproxy.simd.Simd.Ops
The index of the first value in a[from, to), or -1.
inFlightMtuProbe() - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
The packet number of the probe in flight.
initial() - Method in class org.microproxy.RetryBackoff
The wait before the second attempt (its ceiling, with jitter); zero for RetryBackoff.none().
initial(QuicVersion, ConnectionId, boolean) - Static method in record class io.github.mahmoudimus.quic.crypto.Keys
The Initial keys for a client's first Destination Connection ID.
Initial(QuicVersion, ConnectionId, ConnectionId, byte[], long, int) - Constructor for record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
An Initial header.
INITIAL - Enum constant in enum class io.github.mahmoudimus.quic.connection.SpaceId
Initial packets.
INITIAL - Enum constant in enum class io.github.mahmoudimus.quic.EncryptionLevel
Keys derived from the client's first Destination Connection ID.
INITIAL - Enum constant in enum class io.github.mahmoudimus.quic.packet.PacketType
Initial (long header), carrying the first CRYPTO data and an optional token.
INITIAL_WINDOW_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The SETTINGS_INITIAL_WINDOW_SIZE identifier.
initialDcid() - Method in class io.github.mahmoudimus.quic.connection.Connection
The Destination Connection ID of the client's first Initial packet: chosen by the client, or after a Retry, the Retry's Source Connection ID.
initialDcidLength(int) - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
The length of the random Destination Connection ID of the first Initial.
initialDestinationId() - Method in class io.github.mahmoudimus.quic.QuicConnection
The Destination Connection ID of the client's first Initial packet (after a Retry, of its first Initial with the Retry's token): on a server, the ID the connection was created for.
initialIssueCount(long) - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
How many IDs to issue after the handshake: the peer's limit (at most 8L) less those already in use.
INITIALIZING - Enum constant in enum class org.microproxy.ServerState
Starting: the admin listener may answer while the proxy's own listeners are being bound.
initialMaxData() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialMaxData record component.
initialMaxData(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_max_data.
initialMaxStreamDataBidiLocal() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialMaxStreamDataBidiLocal record component.
initialMaxStreamDataBidiLocal(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_max_stream_data_bidi_local.
initialMaxStreamDataBidiRemote() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialMaxStreamDataBidiRemote record component.
initialMaxStreamDataBidiRemote(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_max_stream_data_bidi_remote.
initialMaxStreamDataUni() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialMaxStreamDataUni record component.
initialMaxStreamDataUni(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_max_stream_data_uni.
initialMaxStreamsBidi() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialMaxStreamsBidi record component.
initialMaxStreamsBidi(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_max_streams_bidi.
initialMaxStreamsUni() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialMaxStreamsUni record component.
initialMaxStreamsUni(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_max_streams_uni.
initialMtu() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the initialMtu record component.
initialMtu(int) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the initial MTU.
initialMtu(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The UDP payload size to start with, at least TransportConfig.Builder.minMtu(int).
initialRtt() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the initialRtt record component.
initialRtt(long) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the initial RTT.
initialRtt(Duration) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The RTT assumed before the first sample.
initialSalt() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The salt that derives Initial secrets from the client's first Destination Connection ID (RFC 9001 section 5.2, RFC 9369 section 3.3.1).
initialSecrets(QuicVersion, ConnectionId) - Static method in record class io.github.mahmoudimus.quic.crypto.Keys
The Initial secrets for a client's first Destination Connection ID (RFC 9001 section 5.2): HKDF-Extract with the version's salt, then the "client in" and "server in" labels.
initialSourceConnectionId() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the initialSourceConnectionId record component.
initialSourceConnectionId(ConnectionId) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets initial_source_connection_id.
initialWindow() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
initialWindow() - Method in record class io.github.mahmoudimus.quic.congestion.BbrConfig
Returns the value of the initialWindow record component.
initialWindow() - Method in interface io.github.mahmoudimus.quic.congestion.Controller
The initial window.
initialWindow() - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
initialWindow() - Method in record class io.github.mahmoudimus.quic.congestion.CubicConfig
Returns the value of the initialWindow record component.
initialWindow() - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
initialWindow() - Method in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
Returns the value of the initialWindow record component.
initialWindowSize() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the initialWindowSize record component.
initialWindowSize() - Method in class org.microproxy.Http2Options
SETTINGS_INITIAL_WINDOW_SIZE: request body bytes buffered per stream, at most.
initialWindowSize(int) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets the initial stream credit.
initialWindowSize(int) - Method in class org.microproxy.Http2Options.Builder
The flow-control window of each stream's request body (default 256 KiB): the most the proxy buffers for a stream whose body it has not read yet.
initiator() - Method in record class io.github.mahmoudimus.quic.connection.StreamId
The side that opened the stream.
inject(InetSocketAddress, ByteBuffer) - Method in class io.github.mahmoudimus.quic.QuicServer
Routes a datagram the filter took as if it had just arrived, without asking the filter again: a client's first Initial starts a connection.
inject(InetSocketAddress, ByteBuffer, ServerConfig) - Method in class io.github.mahmoudimus.quic.QuicServer
Routes a datagram the filter took, as QuicServer.inject(InetSocketAddress, ByteBuffer) does, accepting a connection it starts with config instead of the server's own configuration: its certificates, ALPN, transport parameters and Retry.
inject(SpanContext, HttpHeaders) - Method in interface org.microproxy.otel.Propagator
Writes context onto headers, replacing this propagator's headers that were there.
injectUpstream(HttpHeaders, boolean) - Method in interface org.microproxy.FlowTrace
A request head is about to be written upstream for the current attempt, after the proxy removed the headers it strips (HttpProxyServerBootstrap.withStrippedRequestHeaders(java.lang.String...)): the trace may put its propagation headers on it.
inputStream(InputStream) - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor
Creates a stream of the data decoded from in.
inputType() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the value of the inputType record component.
insert(long) - Method in class io.github.mahmoudimus.quic.connection.Dedup
Records an authenticated packet number.
insert(long, long) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Adds the values [start, end), merging with overlapping and adjacent ranges.
insert(long, SentPacket) - Method in class io.github.mahmoudimus.quic.connection.SentPackets
Adds a packet, whose number must exceed every number added before.
insert(long, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Assembler
Adds received data held in a buffer of its own; see Assembler.insert(long, ByteBuffer, int).
insert(long, ByteBuffer, int) - Method in class io.github.mahmoudimus.quic.connection.Assembler
Adds received data.
insert(Frame.NewConnectionId) - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
Stores a NEW_CONNECTION_ID frame's ID, retiring those below its Retire Prior To.
insert(String, String) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Inserts a field into the dynamic table without referencing it, for later sections (a speculative insert), choosing a name reference where one exists.
insertCount() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The number of entries inserted so far (the Insert Count).
insertCount() - Method in class io.github.mahmoudimus.http3.QpackEncoder
The number of entries inserted so far (the Insert Count).
insertOne(long) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Adds one value.
insertOne(long, long) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Adds a packet to acknowledge.
install(HttpProxyServerBootstrap) - Method in class org.microproxy.otel.Telemetry
Wires this telemetry into bootstrap: its tracer (HttpProxyServerBootstrap.withTracer(org.microproxy.FlowTracer)), metrics turned on when they are exported, and the access-log exporter as an ActivityTracker when logs are.
INSUFFICIENT_SECURITY - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
The peer's parameters are weaker than required (71).
INT32 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
int32: varint (negative values take ten bytes).
INT64 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
int64: varint.
integrityLimit() - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
How many packets may fail authentication under this key before the connection must close.
integrityTag() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
The Retry Integrity Tag.
intercept(HttpFrame, FrameDirection, FrameContext) - Method in interface org.microproxy.frames.FrameInterceptor
Inspects one frame.
interimResponse() - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Reports that the HEADERS just received held an interim (1xx) response, so another header section must follow (RFC 9114 §4.1).
INTERNAL_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
An unexpected internal failure.
INTERNAL_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
An implementation error.
INTERNAL_ERROR - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
An internal error unrelated to the peer (80).
INTERNAL_SERVER_ERROR - Static variable in record class org.microproxy.http.HttpResponseStatus
 
interval() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns the value of the interval record component.
interval() - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Returns the value of the interval record component.
interval(Duration) - Method in class org.microproxy.stats.StatsdSink.Builder
How often to send (default 5 seconds).
inUse() - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Returns the value of the inUse record component.
inUse() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns the value of the inUse record component.
INVALID_ENVOY_REQUEST_HEADERS - Enum constant in enum class org.microproxy.ResponseFlag
IH: the request had invalid proxy-specific headers.
INVALID_TOKEN - Static variable in exception class io.github.mahmoudimus.quic.QuicException
An invalid address-validation token.
io.github.mahmoudimus.http2 - package io.github.mahmoudimus.http2
 
io.github.mahmoudimus.http3 - package io.github.mahmoudimus.http3
 
io.github.mahmoudimus.quic - package io.github.mahmoudimus.quic
A dependency-free QUIC transport (RFC 9000, 9001, 9002, 9221, 9369).
io.github.mahmoudimus.quic.congestion - package io.github.mahmoudimus.quic.congestion
Congestion control for QUIC (RFC 9002 section 7), ported from quinn-proto's congestion module: the Controller interface, NewReno (RFC 9002), Cubic (RFC 9438, the default, as in quinn), the experimental Bbr (quinn's BBRv1-style port) and the RttEstimator they read.
io.github.mahmoudimus.quic.connection - package io.github.mahmoudimus.quic.connection
The sans-I/O QUIC connection and endpoint, ported from quinn-proto: the Connection state machine (handshake, packet assembly and processing, key updates, closing and draining), the Endpoint that routes datagrams and answers with Version Negotiation, Retry and stateless resets, their configurations (TransportConfig, ServerConfig, ClientConfig, EndpointConfig), and the building blocks they are made of: range sets (RangeSet), reassembly of received data (Assembler), buffering of sent data (SendBuffer), streams and flow control (StreamsState), packet number spaces and ACK generation (PacketSpace), loss detection (Recovery), pacing (Pacer), path MTU discovery (MtuDiscovery) and timers (TimerTable).
io.github.mahmoudimus.quic.crypto - package io.github.mahmoudimus.quic.crypto
QUIC packet protection (RFC 9001 section 5): AEAD payload keys, header protection keys, Initial keys per version, key updates and the Retry integrity tag.
io.github.mahmoudimus.quic.frame - package io.github.mahmoudimus.quic.frame
QUIC frames (RFC 9000 section 19, RFC 9221 DATAGRAM, and the ACK frequency extension): a sealed Frame hierarchy, its encoders and a validating decoder.
io.github.mahmoudimus.quic.packet - package io.github.mahmoudimus.quic.packet
QUIC packets (RFC 9000 section 17, RFC 9369): header encoding and partial decoding, packet number truncation and recovery, coalesced datagrams, and protecting and unprotecting whole packets in place.
io.github.mahmoudimus.quic.params - package io.github.mahmoudimus.quic.params
QUIC transport parameters (RFC 9000 section 18), carried in the TLS quic_transport_parameters extension.
io.github.mahmoudimus.quic.tls - package io.github.mahmoudimus.quic.tls
A TLS 1.3 handshake (RFC 8446) for QUIC (RFC 9001), client and server, ported from rustls with quinn's session interface.
io.github.mahmoudimus.quic.token - package io.github.mahmoudimus.quic.token
Address validation tokens (RFC 9000 section 8.1), ported from quinn-proto's token.rs and bloom_token_log.rs: Retry and NEW_TOKEN tokens sealed with AES-256-GCM under a key the server holds (TokenKey), their validation with expiry and address binding (TokenValidator), and a bounded replay log (BloomTokenLog); on the client, where NEW_TOKEN tokens wait for the next connection (TokenStore, TokenMemoryCache).
io.github.mahmoudimus.zstd - package io.github.mahmoudimus.zstd
 
ip() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Validation
Returns the value of the ip record component.
ipv4() - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Returns the value of the ipv4 record component.
ipv6() - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Returns the value of the ipv6 record component.
is100ContinueExpected(HttpRequest) - Static method in class org.microproxy.http.HttpUtil
Whether the request carries Expect: 100-continue.
isAckEliciting() - Method in interface io.github.mahmoudimus.quic.frame.Frame
Whether a packet containing this frame must be acknowledged.
isAckEliciting() - Method in enum class io.github.mahmoudimus.quic.frame.FrameType
Whether a packet containing this frame must be acknowledged (RFC 9000 section 13.2).
isAllowedIn(PacketType) - Method in enum class io.github.mahmoudimus.quic.frame.FrameType
Whether this frame may appear in a packet type (RFC 9000 Table 3); receiving it elsewhere is a PROTOCOL_VIOLATION.
isAppLimited() - Method in class io.github.mahmoudimus.quic.connection.DeliveryRate
Whether packets sent now are marked application limited.
isAppLimited() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Whether the application, not the congestion window or the pacer, limited the last send.
isAppLimited() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
Whether the packet was sent while sending was application limited ( P.is_app_limited).
isAtFullBandwidth() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
Whether STARTUP found the bottleneck bandwidth.
isAuthoritative() - Method in class org.microproxy.dns.DnsMessage
Returns whether the answer is authoritative (AA).
isBidirectional() - Method in class io.github.mahmoudimus.quic.QuicStream
Whether the stream is bidirectional.
isBinary() - Method in class org.microproxy.http.WebSocketFrame
Checks the frame opcode.
isBinary() - Method in record class org.microproxy.http.WebSocketMessage
Checks the message type.
isBlocked(long) - Method in class io.github.mahmoudimus.http3.QpackDecoder
Whether a field section of this stream is waiting for encoder-stream updates.
isChunkedWithContentLength() - Method in class org.microproxy.FlowContext
Whether the HTTP/1.1 request of the exchange in progress (or the last one) arrived with both Transfer-Encoding: chunked and Content-Length, and was accepted because HttpProxyServerBootstrap.withAllowChunkedLength(boolean) is on: its Content-Length was removed before filters saw it, its body was read as chunked, and the client connection closes after the response (RFC 9112 section 6.1).
isClient() - Method in enum class io.github.mahmoudimus.quic.connection.Side
Whether this is the client.
isClient() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether this is the client side.
isClose() - Method in class org.microproxy.http.WebSocketFrame
Checks the frame opcode.
isClosed() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the connection is closing, draining or drained.
isCongestionBlocked(long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Whether a packet of some size fits the congestion window.
isConnect() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Checks the request method.
isConnect() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
A CONNECT request, plain or extended.
isConnectionError() - Method in exception class io.github.mahmoudimus.http2.Http2Exception
Reports whether the connection must be closed.
isConnectionError() - Method in exception class io.github.mahmoudimus.http3.Http3Exception
Whether the error ends the connection rather than one stream.
isContinuation() - Method in class org.microproxy.http.WebSocketFrame
Checks the frame opcode.
isCritical(long) - Static method in class io.github.mahmoudimus.http3.Http3StreamType
Whether closing a stream of this type is a connection error H3_CLOSED_CRITICAL_STREAM.
isDefined(long) - Static method in record class io.github.mahmoudimus.http3.Http3Settings
Whether id is one of the settings this class has a component for.
isDrained() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the connection is gone, so the endpoint may forget it.
isEarlyData() - Method in class org.microproxy.FlowContext
Whether the request of this HTTP/3 stream arrived, at least in part, as 0-RTT early data (with 0-RTT on).
isEarlyDataAccepted() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether the server accepted 0-RTT data.
isEarlyDataOffered() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether the client offered 0-RTT data in its first ClientHello.
isEmpty() - Method in record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Whether nothing is waiting.
isEmpty() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Whether the set is empty.
isEmpty() - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Whether the range holds no values.
isEmpty() - Method in class io.github.mahmoudimus.quic.ConnectionId
Whether this is the zero-length connection ID.
isEmpty() - Method in class org.microproxy.http.HttpHeaders
Checks whether any fields are present.
isEmpty() - Method in class org.microproxy.NoProxyRules
Reports whether there are no bypass rules.
isEmpty(StreamsState) - Method in class io.github.mahmoudimus.quic.connection.Retransmits
Whether nothing needs sending.
isEnabled() - Method in class org.microproxy.otel.Telemetry
Returns whether this telemetry does anything: false once the SDK is disabled.
isEstablished() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the connection is established: the handshake completed and it is not closing.
isExpired(Timer, long) - Method in class io.github.mahmoudimus.quic.connection.TimerTable
Whether a timer has expired.
isExpired(Instant) - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
Whether the ticket has outlived its lifetime.
isExtendedConnect() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
An extended CONNECT request: CONNECT with :protocol.
isFinal() - Method in class org.microproxy.http.WebSocketFrame
Checks whether this frame ends the message.
isFullyAcked() - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Whether every written byte has been acknowledged.
isGrease(int) - Static method in record class org.microproxy.ClientHello
Whether a value is a GREASE value (RFC 8701), which clients add to lists of cipher suites, extensions, versions and ALPN protocols to keep servers tolerant of unknown values.
isHandshakeComplete() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the TLS handshake is complete: for a server, once it has verified the client's Finished, which proves the client is live and so its early data was not replayed by others.
isHandshakeComplete() - Method in class io.github.mahmoudimus.quic.QuicConnection
Whether the handshake has completed.
isHandshakeComplete() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether the handshake is complete (RFC 9001 section 4.1.1): for a client, once it has verified the server's Finished and queued its own; for a server, once it has verified the client's Finished.
isHandshakeConfirmed() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the handshake is confirmed (RFC 9001 section 4.1.2): on a client once HANDSHAKE_DONE arrives, on a server once its handshake completes.
isHandshaking() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the handshake is still in progress.
isHandshaking() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether the handshake is still in progress: true until it completes, and also after it has failed.
isHealthCheckFailed() - Method in interface org.microproxy.HttpProxyServer
Returns whether the health check has been failed with HttpProxyServer.setHealthCheckFailed(boolean).
isHttp() - Method in enum class org.microproxy.FlowRecord.Kind
Returns whether this is an HTTP exchange rather than a tunnel or flow.
isHttp2Only(long) - Static method in class io.github.mahmoudimus.http3.Http3FrameType
Whether the type is an HTTP/2 frame type that is forbidden in HTTP/3.
isHttp2Reserved(long) - Static method in record class io.github.mahmoudimus.http3.Http3Settings
Whether id is an HTTP/2 setting with no HTTP/3 counterpart (0x00, 0x02, 0x03, 0x04 and 0x05), which must not be sent; receiving one is a connection error H3_SETTINGS_ERROR (RFC 9114 §7.2.4.1).
isImmutable() - Method in class org.microproxy.starlark.ProtoFixed
 
isImmutable() - Method in class org.microproxy.starlark.ScriptHeaders
 
isImmutable() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
 
isImmutable() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
 
isInformational() - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
An interim (1xx) response; more header sections follow on the stream.
isInformational() - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
An interim (1xx) response; another header section follows on the stream (report it with Http3StreamValidator.interimResponse()).
isJson() - Method in class org.microproxy.extras.AccessLogFormat
Returns whether this is a JSON format.
isKeepAlive(HttpMessage) - Static method in class org.microproxy.http.HttpUtil
Whether the sender of message wants the connection kept open afterwards, following the Connection header and the protocol version's default.
isKeepAliveDefault() - Method in record class org.microproxy.http.HttpVersion
Returns whether connections are persistent by default for this version (HTTP/1.1 and later).
isKnown(long) - Static method in class io.github.mahmoudimus.http3.Http3FrameType
Whether the type is one this codec parses into its own Http3Frame record.
isKnown(long) - Static method in class io.github.mahmoudimus.http3.Http3StreamType
Whether the type is one of the four defined ones.
isLocal() - Method in class io.github.mahmoudimus.quic.QuicStream
Whether this side opened the stream.
isLocalUnopened(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Whether a local stream has never been opened.
isLongHeader() - Method in enum class io.github.mahmoudimus.quic.packet.PacketType
Whether the packet uses a long header.
isMasked() - Method in class org.microproxy.http.WebSocketFrame
Whether the payload is masked (always true for client-to-server frames).
isNone() - Method in class org.microproxy.RetryBackoff
Whether this policy never waits (RetryBackoff.none()).
isOffline() - Method in class org.microproxy.cache.HttpCache
Reports whether the cache operates without contacting servers.
isOpen() - Method in class io.github.mahmoudimus.quic.QuicConnection
Whether the connection is open.
isOrdered() - Method in class io.github.mahmoudimus.quic.connection.Assembler
Whether reads are ordered.
isOrigin(Frame) - Static method in class io.github.mahmoudimus.http2.OriginFrame
Whether frame is an ORIGIN frame a client acts on: of type FrameType.ORIGIN and on stream 0 (one on any other stream is ignored).
isPing() - Method in class org.microproxy.http.WebSocketFrame
Checks the frame opcode.
isPong() - Method in class org.microproxy.http.WebSocketFrame
Checks the frame opcode.
isProbingPath() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether a client is probing a new path.
isProtected() - Method in enum class io.github.mahmoudimus.quic.packet.PacketType
Whether the packet has header and payload protection and a packet number.
isPseudo() - Method in record class org.microproxy.frames.Field
Whether this is a pseudo-header (:method, :status, ...).
isRecording(StarlarkThread) - Method in class org.microproxy.starlark.ScriptTrace
trace.is_recording(): whether the exchange's span is recorded (sampled), so a script can skip computing attributes nobody will see.
isRecursionAvailable() - Method in class org.microproxy.dns.DnsMessage
Returns whether recursion is available (RA).
isRecursionDesired() - Method in class org.microproxy.dns.DnsMessage
Returns whether recursion is desired (RD).
isReserved() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Whether this is a reserved (greasing) frame type.
isReserved() - Method in record class org.microproxy.frames.Http3Frame.Unknown
Whether the type is reserved for greasing (0x1f * N + 0x21).
isReserved(int) - Static method in enum class io.github.mahmoudimus.quic.QuicVersion
Whether a version number is reserved for exercising version negotiation, that is, matches 0x?a?a?a?a (RFC 9000 section 15).
isReserved(long) - Static method in enum class io.github.mahmoudimus.http3.Http3ErrorCode
Whether code is a reserved (greasing) error code, 0x1f * N + 0x21 (RFC 9114 §8.1).
isReserved(long) - Static method in class io.github.mahmoudimus.http3.Http3FrameType
Whether value has the form 0x1f * N + 0x21 that HTTP/3 reserves for greasing frame types, stream types, setting identifiers and error codes (RFC 9114 §7.2.8, §6.2.3, §7.2.4.1, §8.1).
isReserved(long) - Static method in class io.github.mahmoudimus.http3.Http3StreamType
Whether the type is reserved for greasing, 0x1f * N + 0x21 (§6.2.3).
isReserved(long) - Static method in record class io.github.mahmoudimus.quic.params.UnknownParameter
Whether an ID is reserved for GREASE, that is, of the form 31 * N + 27.
isResponse() - Method in class org.microproxy.dns.DnsMessage
Returns whether the message is a response (QR).
isResumed() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the TLS handshake resumed a session from a ticket.
isResumed() - Method in class io.github.mahmoudimus.quic.QuicConnection
Whether the TLS handshake resumed an earlier session from a ticket.
isResumed() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether the handshake resumed a session with a PSK from a ticket.
isSampled() - Method in interface org.microproxy.FlowTrace
Returns whether the trace is sampled: its spans are recorded and exported.
isSampled() - Method in record class org.microproxy.otel.SpanContext
Returns whether the trace is sampled.
isServer() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Whether this endpoint accepts connections.
isServer() - Method in enum class io.github.mahmoudimus.quic.connection.Side
Whether this is the server.
isSet(Timer) - Method in class io.github.mahmoudimus.quic.connection.TimerTable
Whether a timer is set.
issue(long, long) - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
Issues new IDs, to send in NEW_CONNECTION_ID frames with LocalCidState.retirePriorTo().
issue(PublicKey, Collection<String>) - Method in class org.microproxy.tls.CertificateAuthority
Issues a server certificate for names (DNS names or IP literals; the first is also the common name), valid for at most a year and never beyond the CA's own expiry.
issued() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns the value of the issued record component.
issued() - Method in interface io.github.mahmoudimus.quic.token.TokenPayload
When the token was issued, to whole seconds.
issued() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
Returns the value of the issued record component.
issued() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Validation
Returns the value of the issued record component.
IssuedCid - Record Class in io.github.mahmoudimus.quic.connection
A local connection ID issued to the peer, to be sent in a NEW_CONNECTION_ID frame.
IssuedCid(long, ConnectionId, StatelessResetToken) - Constructor for record class io.github.mahmoudimus.quic.connection.IssuedCid
An issued connection ID.
issuedCount() - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
The number of IDs issued so far.
issueLimit(long) - Static method in class io.github.mahmoudimus.quic.connection.LocalCidState
The most IDs to keep active for a peer.
issuer(X509Certificate) - Method in class org.microproxy.tls.CertificateBuilder
The issuing CA certificate; leave unset for a self-signed certificate.
issueReplacement() - Method in record class io.github.mahmoudimus.quic.connection.LocalCidState.Retirement
Returns the value of the issueReplacement record component.
isText() - Method in class org.microproxy.http.WebSocketFrame
Checks the frame opcode.
isText() - Method in record class org.microproxy.http.WebSocketMessage
Checks the message type.
isText(HttpMessage) - Static method in class org.microproxy.http.HttpBodies
Whether the media type is textual: text/*, JSON, XML, JavaScript or form data.
isTransferEncodingChunked(HttpMessage) - Static method in class org.microproxy.http.HttpUtil
Whether the final transfer coding is chunked.
isTransparentQuic() - Method in class org.microproxy.FlowContext
Whether the client's QUIC came to the transparent QUIC listener (HttpProxyServerBootstrap.withTransparentQuicPort(int)): redirected there, routed by the SNI of its ClientHello, and intercepted (its HTTP/3 requests) or relayed.
isTruncated() - Method in class org.microproxy.dns.DnsMessage
Returns whether the message was truncated (TC).
isTruncated() - Method in class org.microproxy.http.WebSocketFrame
Whether the payload was too large to buffer, in which case WebSocketFrame.payload() is null.
isUnbudgeted() - Method in class org.microproxy.RetryBackoff
Whether the waits of one request have no budget (RetryBackoff.unbudgeted()).
isValid() - Method in record class org.microproxy.otel.SpanContext
Returns whether the ids are valid: neither is all zeros.
isValidated() - Method in class io.github.mahmoudimus.quic.connection.PathData
Whether the path is validated.
isValidating() - Method in class io.github.mahmoudimus.quic.connection.PathData
Whether this endpoint awaits a PATH_RESPONSE on the path.
isVectorized() - Static method in class org.microproxy.simd.Simd
Reports whether the selected implementation uses SIMD.
isZeroRtt() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether a client may send 0-RTT data now: it offered a ticket that allows it, and the handshake has not completed.
isZeroRtt() - Method in class io.github.mahmoudimus.quic.QuicConnection
Client: whether data written now goes out as 0-RTT data, before the handshake completes.
items() - Method in class org.microproxy.starlark.ScriptHeaders
Returns each header value with its name in header order.
iterator() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The ranges in ascending order.
iterator() - Method in class org.microproxy.http.HttpHeaders
 
iterator() - Method in class org.microproxy.starlark.ScriptHeaders
 
ivLabel() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The HKDF label for the AEAD IV: "quic iv" or "quicv2 iv".

J

ja3(ClientHello) - Static method in class org.microproxy.extras.TlsFingerprints
The JA3 fingerprint: the lowercase hex MD5 of TlsFingerprints.ja3String(org.microproxy.ClientHello).
ja3String(ClientHello) - Static method in class org.microproxy.extras.TlsFingerprints
The JA3 string: version,ciphers,extensions,groups,point_formats, each list's values in decimal, in the hello's order, separated by -.
ja4(ClientHello) - Static method in class org.microproxy.extras.TlsFingerprints
The JA4 fingerprint of a hello sent over TCP.
ja4(ClientHello, boolean) - Static method in class org.microproxy.extras.TlsFingerprints
The JA4 fingerprint: a_b_c, where a is the transport (t for TCP, q for QUIC), the highest TLS version offered (13, 12, ...), d with SNI or i without, the counts of cipher suites and extensions (two digits each), and the first and last characters of the first ALPN protocol (00 without); b is the first 12 hex digits of the SHA-256 of the sorted cipher suites (4-digit hex, comma separated); c the same of the sorted extensions without SNI and ALPN, followed by _ and the signature algorithms in their order when there are any.
JAEGER - Static variable in class org.microproxy.otel.Propagators
Jaeger's uber-trace-id: {trace-id}:{span-id}:{parent-span-id}:{flags}.
jittered() - Method in class org.microproxy.RetryBackoff
Whether the waits are random (RetryBackoff.exponentialWithJitter(java.time.Duration, java.time.Duration)) rather than exact.
join(List<byte[]>) - Static method in class org.microproxy.contentviews.Grpc
Frames messages without compressing them.
join(List<byte[]>, String) - Static method in class org.microproxy.contentviews.Grpc
Frames messages, compressing each with encoding.
json(StatsRegistry) - Static method in class org.microproxy.stats.StatsFormatter
The metrics as Envoy's /stats?format=json: {"stats": [...]} with an object {"name": ..., "value": ...} per counter and gauge, sorted by flat name, and last an object {"histograms": {"supported_quantiles": [...], "computed_quantiles": [...]}} whose entries give each histogram's estimated quantiles as {"interval": null, "cumulative": ...} (null when nothing was recorded).
json(StatsRegistry, Predicate<? super Metric>) - Static method in class org.microproxy.stats.StatsFormatter
The metrics include accepts, as Envoy's /stats?format=json (see StatsFormatter.json(StatsRegistry)).
JSON - Enum constant in enum class org.microproxy.extras.HttpLogger.Format
One JSON object per message, on one line.
JSON - Enum constant in enum class org.microproxy.extras.LogFormat
One JSON object per line: timestamp, client_ip, user, method, uri, protocol, status, bytes, duration (milliseconds) and user_agent.
JSON_EXTENDED - Enum constant in enum class org.microproxy.extras.LogFormat
LogFormat.JSON plus where the response came from and how it went: source (ResponseSource), upstream_status (the server's status, or null), ttfb_ms, total_ms, dns_ms, connect_ms and tls_ms (milliseconds, or null for phases that did not happen), response_flags, response_code_details and flow (the kind of exchange or flow).
JsonModule - Class in org.microproxy.starlark.stdlib
@stdlib//json: the interpreter's json module (Json, the same one scripts have predeclared), with Python's names dumps and loads, and Python's refusal to encode bytes and sets.

K

KEEP - Enum constant in enum class org.microproxy.otel.Telemetry.RequestIdMode
Keep the client's, or add a random UUID (version 4) when it has none.
KEEP_ALIVE - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When to send a PING to keep the connection alive.
KEEP_ALIVE - Static variable in class org.microproxy.http.HttpHeaderNames
The Keep-Alive header field name.
keepAliveInterval(Duration) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Sends a PING after this much time without sending, to keep an idle connection open.
key() - Method in class org.microproxy.cache.CachedResponse
Returns the URL identifying this cached response.
key(BiFunction<HttpRequest, FlowContext, String>) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
What requests are counted by: the client's IP address by default (ConcurrencyLimiter.byClientIp()), or ConcurrencyLimiter.byUser(), ConcurrencyLimiter.byTargetHost() or any function of the request head and client connection.
KEY_DISCARD - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When old keys (0-RTT or the previous 1-RTT generation) are discarded.
KEY_PHASE_BIT - Static variable in interface io.github.mahmoudimus.quic.packet.PacketHeader
The Key Phase bit of short headers.
KEY_UPDATE_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
A key update error.
keyExchangeGroup() - Method in class io.github.mahmoudimus.quic.QuicConnection
The key exchange group the handshake used.
keyLabel() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The HKDF label for the AEAD key: "quic key" or "quicv2 key".
keyLength() - Method in enum class io.github.mahmoudimus.quic.CipherSuite
The AEAD key length, which is also the header protection key length.
keyLog() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The receiver of TLS secrets for packet analyzers, if any.
keyLog(KeyLog) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Writes each connection's TLS secrets in the SSLKEYLOGFILE format, for Wireshark.
KeyLog - Interface in io.github.mahmoudimus.quic.connection
Receives TLS traffic secrets in the NSS key log format (SSLKEYLOGFILE), which Wireshark reads to decrypt QUIC packets.
KeyMaterial - Record Class in org.microproxy
A certificate chain and the private key of its first certificate: what a TLS server presents.
KeyMaterial(List<X509Certificate>, PrivateKey) - Constructor for record class org.microproxy.KeyMaterial
Creates key material.
keyMaterialFor(String) - Method in class org.microproxy.tls.CertificateAuthorityMitmManager
A certificate for host issued by this manager's CA, with its private key: what the HTTP/3 listener of a reverse proxy presents (HttpProxyServerBootstrap.withHttp3(boolean)) when the proxy has no TLS listener of its own.
keyPhase() - Method in class io.github.mahmoudimus.quic.connection.Connection
The current 1-RTT key phase bit.
keyPhase() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns the value of the keyPhase record component.
keys() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The space's keys.
keys() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns the value of the keys record component.
keys() - Method in class org.microproxy.starlark.ScriptHeaders
Returns the distinct header names.
Keys - Record Class in io.github.mahmoudimus.quic.crypto
The packet protection keys of one encryption level, from one endpoint's point of view: local protects what it sends and remote removes protection from what it receives.
Keys(DirectionalKeys, DirectionalKeys) - Constructor for record class io.github.mahmoudimus.quic.crypto.Keys
Keys from their parts.
KeyStats(int, int, int, long) - Constructor for record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Creates an instance of a KeyStats record class.
KeyStoreSslContextSource - Class in org.microproxy.tls
An SslContextSource for the proxy's own TLS listener, presenting the certificate of a key store entry (PKCS#12 or JKS): the HTTPS and HTTP/2 listener (withSslContextSource), and, through KeyStoreSslContextSource.getKeyMaterial(java.lang.String), the HTTP/3 listener of a reverse proxy.
KeyStoreSslContextSource(Path, char[]) - Constructor for class org.microproxy.tls.KeyStoreSslContextSource
Presents the first key entry of a key store file, whose type (PKCS#12 or JKS) is detected.
KeyStoreSslContextSource(KeyStore, String, char[]) - Constructor for class org.microproxy.tls.KeyStoreSslContextSource
Presents a key store entry.
keyUpdateLabel() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The HKDF label for the next secret of a key update: "quic ku" or "quicv2 ku".
keyUpdates() - Method in class io.github.mahmoudimus.quic.connection.Connection
Key updates so far, initiated by either side.
keyUpdates() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the keyUpdates record component.
kill() - Static method in record class org.microproxy.extras.ServerReplay.Extra
Returns closing the connection without a response.
kind() - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
The kind of stream this validator checks.
kind() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Returns the value of the kind record component.
kind() - Method in exception class io.github.mahmoudimus.quic.connection.StreamException
Why the operation failed.
kind() - Method in exception class io.github.mahmoudimus.quic.QuicStreamException
How the peer abandoned the stream.
kind() - Method in record class org.microproxy.extras.ServerReplay.Extra
Returns the value of the kind record component.
kind() - Method in class org.microproxy.FlowRecord
Returns what kind of exchange or flow this is.
knownCids() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
The number of local connection IDs routed, for tests and monitoring.
knownReceivedCount() - Method in class io.github.mahmoudimus.http3.QpackEncoder
How many inserts the peer's decoder has acknowledged (§2.1.4).
knows(InetSocketAddress, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Whether a datagram belongs to one of the endpoint's connections, by its first packet's Destination Connection ID (or the sender's address, for zero-length IDs): what Endpoint.handle(long, java.net.InetSocketAddress, int, java.nio.ByteBuffer) would deliver, short of stateless resets.
knows(InetSocketAddress, ByteBuffer) - Method in class io.github.mahmoudimus.quic.QuicServer
Whether a datagram belongs to one of the server's connections, by its Destination Connection ID, whatever address it comes from (a client that migrated).

L

label() - Method in enum class org.microproxy.FlowRecord.Kind
Returns the short name an access log shows, such as h2 or tunnel.
largest() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
The largest acknowledged packet number.
largest() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckRange
Returns the value of the largest record component.
largestAcked() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The largest packet number the packet's ACK frame acknowledged.
largestAckedPacket() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The largest packet number the peer acknowledged.
lastCode() - Method in enum class io.github.mahmoudimus.quic.frame.FrameType
The highest type code of this frame type.
LastHttpContent - Interface in org.microproxy.http
The final piece of an HTTP message body, optionally carrying trailer fields.
lastStreamId() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Returns the value of the lastStreamId record component.
lastStreamId() - Method in record class org.microproxy.frames.Http2Frame.GoAway
Returns the value of the lastStreamId record component.
latest() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
The most recent sample.
Launcher - Class in org.microproxy
Command-line entry point.
LauncherExtension - Interface in org.microproxy
Adds command-line options to Launcher.
LE - Enum constant in enum class org.microproxy.extras.AccessLogFilter.Comparison
Less than or equal.
length() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
The number of bytes.
length() - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
The number of values in the range.
length() - Method in class io.github.mahmoudimus.quic.ConnectionId
The length in bytes.
length() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
Returns the value of the length record component.
length() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The packet length, header and tag included.
length() - Method in record class org.microproxy.http.WebSocketMessage
Returns the payload length.
length() - Method in class org.microproxy.quic.QuicDatagram
Returns the number of bytes.
length() - Method in class org.microproxy.quic.QuicMessage
Returns the payload's length in bytes.
length() - Method in class org.microproxy.quic.QuicStreamMessage
Returns the number of bytes.
length() - Method in class org.microproxy.tcp.TcpMessage
Returns the number of bytes.
length() - Method in class org.microproxy.udp.UdpMessage
Returns the number of bytes.
length(long) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
The length of the shortest encoding of value.
LENGTH - Static variable in class io.github.mahmoudimus.quic.StatelessResetToken
The token length in bytes.
lengthOf(int) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
The total length of an encoding, from its first byte.
lengthOffset() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns the value of the lengthOffset record component.
level() - Method in enum class io.github.mahmoudimus.quic.packet.PacketType
The encryption level whose keys protect this packet type.
level() - Method in record class io.github.mahmoudimus.quic.Secrets
Returns the value of the level record component.
level() - Method in class org.microproxy.extras.HttpLogger
Returns the configured logging detail.
level(HttpLogger.Level) - Method in class org.microproxy.extras.HttpLogger.Builder
How much to log (default HttpLogger.Level.HEADERS).
lifetime() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
How long the server said the ticket may be used.
lifetime() - Method in class io.github.mahmoudimus.quic.tls.Ticketer
The lifetime of a key, announced as the ticket lifetime.
limit() - Method in exception class io.github.mahmoudimus.http2.HeaderListSizeException
The configured decoded field section limit in octets.
limit() - Method in exception class io.github.mahmoudimus.http3.FieldSectionSizeException
The limit the section exceeded: the decoder's SETTINGS_MAX_FIELD_SECTION_SIZE.
limit() - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
Returns the value of the limit record component.
limit() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
Returns the value of the limit record component.
limit() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
Returns the value of the limit record component.
limits(StarlarkScript.Limits) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
Step and time limits for each hook call.
Limits(long, Duration) - Constructor for record class org.microproxy.starlark.StarlarkScript.Limits
Creates execution bounds with the default allocation budget.
Limits(long, Duration) - Constructor for record class org.microproxy.starlark.stdlib.Stdlib.Limits
Creates an instance of a Limits record class.
Limits(long, Duration, long) - Constructor for record class org.microproxy.starlark.StarlarkScript.Limits
Creates execution bounds.
line(String, byte[], byte[]) - Static method in interface io.github.mahmoudimus.quic.connection.KeyLog
Formats one line of the key log file.
lines() - Static method in interface org.microproxy.quic.MessageFramer
Lines that end with a line feed: the payload is the line without it, and a line feed is added after each payload sent (a carriage return before it stays in the payload).
littleProxy() - Static method in class org.microproxy.ProtocolPolicy
LittleProxy's behaviour, as of LittleProxy 2.9.1, every field set (but the HTTP/1-only ProtocolPolicy.allowChunkedLength(): LittleProxy rejects such requests, through Netty's HttpObjectDecoder, as MicroProxy does by default).
LIVE - Enum constant in enum class org.microproxy.ServerState
Serving: accepting connections and requests.
load(Path) - Static method in class org.microproxy.contentviews.ProtoSchema
Reads a FileDescriptorSet file, as protoc --descriptor_set_out writes it.
load(Path) - Static method in record class org.microproxy.extras.RecordedExchange
Reads exchanges from a HAR file (.har, or zlib-compressed .zhar), a WARC file (.warc, .warc.gz), or every such file in a directory (in name order).
load(Path) - Method in class org.microproxy.extras.ServerReplay.Builder
Adds the exchanges recorded in a HAR or WARC file, or in every such file of a directory (see RecordedExchange.load(java.nio.file.Path)).
load(Path, char[]) - Static method in class org.microproxy.tls.CertificateAuthority
Loads the first key entry of a PKCS#12 (or JKS) key store.
load(Path, StarlarkScript.Limits) - Static method in class org.microproxy.starlark.StarlarkScript
Loads and runs the script in file.
load(Path, StarlarkScript.Limits, Map<String, ?>) - Static method in class org.microproxy.starlark.StarlarkScript
Loads and runs the script in file, with constants as read-only globals (see ScriptedProxy.Builder.constants).
load(Path, StarlarkScript.Limits, Map<String, ?>, StatsRegistry) - Static method in class org.microproxy.starlark.StarlarkScript
Loads and runs the script in file, with constants as read-only globals and its stats module counting into stats.
loadAll(List<String>) - Static method in class org.microproxy.starlark.stdlib.Stdlib
Loads the modules a script's load statements name, by label (in order); see Stdlib.Loader.loadAll(java.util.List<java.lang.String>).
loadOrCreate(Path, char[], String) - Static method in class org.microproxy.tls.CertificateAuthority
Loads the CA from keyStore, generating and saving a new one if it does not exist.
loads(Object, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.JsonModule
Parses JSON from text or strictly decoded UTF-8 bytes.
LOC_CID_COUNT - Static variable in class io.github.mahmoudimus.quic.connection.LocalCidState
The most connection IDs issued to a peer at once, as in quinn.
local() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathProbeFailed
Returns the value of the local record component.
local() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathUpdated
Returns the value of the local record component.
local() - Method in class io.github.mahmoudimus.quic.connection.PathData
The local address on this path.
local() - Method in record class io.github.mahmoudimus.quic.crypto.Keys
Returns the value of the local record component.
LOCAL_ADDRESS - Enum constant in enum class org.microproxy.ProxyProtocolDestination
The address the client connected to: the proxy's end of the client connection (FlowContext.getLocalAddress()), as HAProxy names it.
LOCAL_RESET - Enum constant in enum class org.microproxy.ResponseFlag
LR: the proxy reset the stream itself.
localAddress() - Method in class io.github.mahmoudimus.quic.connection.Connection
The local address of the current path.
localAddress() - Method in class io.github.mahmoudimus.quic.QuicClient
The address the client is bound to.
localAddress() - Method in class io.github.mahmoudimus.quic.QuicConnection
The local address the connection sends from: the endpoint's socket, a socket of its own after it migrated, or a server's preferred address once its client moved there.
localAddress() - Method in class io.github.mahmoudimus.quic.QuicServer
The address the server is bound to (an unbound server's own address, as given).
localCids() - Method in class io.github.mahmoudimus.quic.connection.Connection
The local connection IDs the peer may use.
LocalCidState - Class in io.github.mahmoudimus.quic.connection
The connection IDs this endpoint issued to its peer (RFC 9000 section 5.1.1): sequence numbers, stateless reset tokens derived from a static key, retirement by the peer, and periodic rotation through retire_prior_to when IDs have a lifetime.
LocalCidState(ConnectionIdGenerator, byte[], long, ConnectionId...) - Constructor for class io.github.mahmoudimus.quic.connection.LocalCidState
The state after the handshake, during which handshakeCids were used: the first with sequence number 0, then for example a server's preferred address with 1.
LocalCidState.Retirement - Record Class in io.github.mahmoudimus.quic.connection
The outcome of a RETIRE_CONNECTION_ID.
LOCALLY_CLOSED - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
The local application closed the connection.
LOCATION - Static variable in class org.microproxy.http.HttpHeaderNames
The Location header field name.
log(String) - Method in class org.microproxy.extras.ActivityLogger
Writes a finished line.
log(String, byte[], byte[]) - Method in interface io.github.mahmoudimus.quic.connection.KeyLog
Logs one secret.
log(HttpLogger) - Method in class org.microproxy.HttpFiltersBuilder
Logs each exchange with logger, around these hooks: requests as the client sent them (before HttpFiltersBuilder.onRequest) and as forwarded (after HttpFiltersBuilder.beforeSending), responses as the server sent them (before HttpFiltersBuilder.onResponse) and as delivered (after HttpFiltersBuilder.beforeResponding).
logFormat(AccessLogFormat) - Method in class org.microproxy.otel.Telemetry.Builder
The body of exported log records: an access-log format; Envoy's default by default.
LogFormat - Enum Class in org.microproxy.extras
Named access-log formats for ActivityLogger, each a preset of AccessLogFormat: an Envoy-compatible format string (or JSON dictionary) shown on each constant.
logger(System.Logger) - Static method in interface io.github.mahmoudimus.quic.connection.QlogSink
A sink that writes each event as one JSON line to a System.Logger at DEBUG.
LOGGER_NAME - Static variable in class org.microproxy.extras.HttpLogger
The System.Logger lines go to without a HttpLogger.Builder.sink.
logQueue(int, int, Duration) - Method in class org.microproxy.otel.Telemetry.Builder
The log record queue (OTEL_BLRP_*): 2048, 512 and 1 s by default.
logs(boolean) - Method in class org.microproxy.otel.Telemetry.Builder
Whether access-log records are exported as log records (OTEL_LOGS_EXPORTER).
logsEndpoint(String) - Method in class org.microproxy.otel.Telemetry.Builder
The URL log records go to, as it is.
logsWebSocketFrames() - Method in class org.microproxy.extras.HttpLogger
Returns whether WebSocket frames are logged (at HttpLogger.Level.BODY).
LONG_HEADER_FORM - Static variable in interface io.github.mahmoudimus.quic.packet.PacketHeader
The Header Form bit, set in long headers.
LONG_RESERVED_BITS - Static variable in interface io.github.mahmoudimus.quic.packet.PacketHeader
The reserved bits of long headers, zero once header protection is removed.
longName() - Method in enum class org.microproxy.ResponseFlag
Returns Envoy's long name, such as UpstreamConnectionFailure.
longTypeBits(QuicVersion) - Method in enum class io.github.mahmoudimus.quic.packet.PacketType
The two Long Packet Type bits of this type in a version.
lookup(String) - Method in class org.microproxy.dns.DnssecHostResolver
Resolves host to its IPv4 addresses, or IPv6 addresses if it has none.
lookupChainedProxies(HttpRequest, Queue<ChainedProxy>, ClientDetails) - Method in interface org.microproxy.ChainedProxyManager
Adds the proxies to try, in order, to chainedProxies.
lookupChainedProxies(HttpRequest, Queue<ChainedProxy>, ClientDetails) - Method in class org.microproxy.starlark.ScriptedProxy
 
lookupChainedProxies(HttpRequest, Queue<ChainedProxy>, ClientDetails) - Method in class org.microproxy.UpstreamProxyManager
 
LOSS_DETECTION - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
Time-threshold loss detection, or the probe timeout (RFC 9002 section 6.2).
lossProbes() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The probes to send after a PTO.
lossReductionFactor() - Method in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
Returns the value of the lossReductionFactor record component.
lossTime() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Whether time-threshold loss detection is pending.
lostBytes() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Bytes of packets deemed lost.
lostBytes() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the lostBytes record component.
lostMtuProbes() - Method in class io.github.mahmoudimus.quic.connection.Recovery
MTU probes lost.
lostPackets() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Packets deemed lost, not counting MTU probes.
lostPackets() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the lostPackets record component.
LRU - Enum constant in enum class org.microproxy.stats.StatsRegistry.Overflow
The cluster used least recently loses its stats, which start again from zero if it comes back.
LT - Enum constant in enum class org.microproxy.extras.AccessLogFilter.Comparison
Less than.
LTSV - Enum constant in enum class org.microproxy.extras.LogFormat
Labeled tab-separated values: time, host, user, method, uri, status, size, duration, ua.

M

main(String[]) - Static method in class org.microproxy.Launcher
Starts the proxy from command-line options.
majorVersion() - Method in record class org.microproxy.http.HttpVersion
Returns the value of the majorVersion record component.
mapEntry() - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
Returns whether this is the entry type of a map field (key = 1, value = 2).
MapLocal - Class in org.microproxy.extras
Answers requests from local files, as mitmproxy's map_local.
MapLocal.Builder - Class in org.microproxy.extras
Builds MapLocal.
MapLocal.Rule - Record Class in org.microproxy.extras
One rule: requests the filter selects whose URL contains a match of pattern are answered from path.
MapRemote - Class in org.microproxy.extras
Sends requests to another URL, as mitmproxy's map_remote: each rule replaces every match of a regular expression in the request's absolute URL, and the request goes to the result.
MapRemote.Builder - Class in org.microproxy.extras
Builds MapRemote.
MapRemote.Rule - Record Class in org.microproxy.extras
One rule: requests the filter matches have every match of pattern in their URL replaced.
mask(byte[]) - Method in class io.github.mahmoudimus.quic.crypto.HeaderKey
The mask for a sample.
MASK_LENGTH - Static variable in class io.github.mahmoudimus.quic.crypto.HeaderKey
The mask length in bytes: one for the first byte and up to four for the packet number.
masque() - Method in interface org.microproxy.quic.QuicContext
Whether the QUIC came inside a CONNECT-UDP flow (MASQUE), rather than to the transparent QUIC listener.
matches(byte[], ContentView.Metadata) - Method in interface org.microproxy.contentviews.ContentView
Whether this view applies to data at all.
matches(String, int) - Method in class org.microproxy.NoProxyRules
Whether requests to host:port should bypass the proxy.
matches(ByteBuffer) - Method in class io.github.mahmoudimus.quic.StatelessResetToken
Whether a received datagram ends in this token, which identifies it as a Stateless Reset (RFC 9000 section 10.3.1).
matches(FlowFilter.Flow) - Method in class org.microproxy.extras.FlowFilter
Whether flow matches.
matching(String) - Static method in class org.microproxy.extras.RewriteRules.Rule
A rule for URLs that fully match urlRegex.
matching(FlowFilter) - Static method in class org.microproxy.extras.AntiCache
Strips the conditional headers from the requests filter matches (body matchers do not match: the body is never buffered for this).
matching(FlowFilter) - Static method in class org.microproxy.extras.StickyCookie
Sticky cookies for the requests filter matches (body matchers do not match).
max() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The largest value.
max() - Method in class org.microproxy.RetryBackoff
The longest wait; zero for RetryBackoff.none().
MAX - Static variable in class io.github.mahmoudimus.quic.packet.PacketNumber
The largest packet number, 262-1.
MAX - Static variable in class io.github.mahmoudimus.quic.VarInt
The largest encodable value, 262-1.
MAX_ACK_BLOCKS - Static variable in class io.github.mahmoudimus.quic.connection.PendingAcks
The most ACK ranges kept.
MAX_ACK_DELAY - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When an ACK is due because max_ack_delay expired (RFC 9000 section 13.2.1).
MAX_ACK_DELAY_EXPONENT - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The largest valid ack_delay_exponent.
MAX_ACK_DELAY_LIMIT - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The smallest invalid max_ack_delay, 214 milliseconds.
MAX_CHUNKS - Static variable in class io.github.mahmoudimus.quic.connection.Assembler
The most separate pieces kept for one stream.
MAX_CONCURRENT_STREAMS - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The SETTINGS_MAX_CONCURRENT_STREAMS identifier.
MAX_DATA - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
MAX_DATA (0x10).
MAX_FIELD_NUMBER - Static variable in class org.microproxy.contentviews.Protobuf
The largest field number protobuf allows, 229-1.
MAX_FIELD_SECTION_SIZE - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
 
MAX_FRAME_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The SETTINGS_MAX_FRAME_SIZE identifier.
MAX_GREASE_LENGTH - Static variable in record class io.github.mahmoudimus.quic.params.UnknownParameter
The bound on the length of the values UnknownParameter.grease(java.util.Random) generates, as in quinn.
MAX_HEADER_LIST_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The SETTINGS_MAX_HEADER_LIST_SIZE identifier.
MAX_LENGTH - Static variable in class io.github.mahmoudimus.http3.QuicVarInt
The longest encoding, in bytes.
MAX_LENGTH - Static variable in class io.github.mahmoudimus.quic.ConnectionId
The longest connection ID QUIC version 1 and 2 allow, in bytes.
MAX_LIFETIME - Static variable in class io.github.mahmoudimus.quic.tls.Ticketer
The longest ticket lifetime TLS 1.3 allows: 7 days (RFC 8446 section 4.6.1).
MAX_LONG_PACKET_REMAINDER - Static variable in class io.github.mahmoudimus.quic.packet.PacketProtection
The longest long header packet, from the packet number to the end of the tag, that the two-byte Length field this module writes can describe.
MAX_MAX_FRAME_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The largest SETTINGS_MAX_FRAME_SIZE allowed, 2^24 - 1.
MAX_ORIGIN_LENGTH - Static variable in class io.github.mahmoudimus.http2.OriginFrame
The longest origin an Origin-Entry can carry: its length is 16 bits.
MAX_PUSH_ID - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
MAX_PUSH_ID (§7.2.7).
MAX_SIZE - Static variable in class io.github.mahmoudimus.quic.VarInt
The longest encoding, in bytes.
MAX_STREAM_COUNT - Static variable in class io.github.mahmoudimus.quic.connection.StreamsState
The largest stream count MAX_STREAMS may carry, 260.
MAX_STREAM_COUNT - Static variable in interface io.github.mahmoudimus.quic.frame.Frame
The largest stream count MAX_STREAMS and STREAMS_BLOCKED may carry, 260.
MAX_STREAM_COUNT - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The largest valid stream count, 260.
MAX_STREAM_DATA - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
MAX_STREAM_DATA (0x11).
MAX_STREAM_ID - Static variable in interface io.github.mahmoudimus.http2.Frame
The largest stream identifier, 2^31 - 1.
MAX_STREAMS - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
MAX_STREAMS for bidirectional (0x12) and unidirectional (0x13) streams.
MAX_TICKETS_PER_SERVER - Static variable in class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
The tickets kept per server, as rustls keeps.
MAX_UDP_PAYLOAD - Static variable in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
The largest UDP payload over IPv6, 65527 bytes.
MAX_VALUE - Static variable in class io.github.mahmoudimus.http3.QuicVarInt
The largest value, 2^62 - 1.
MAX_VARINT - Static variable in interface org.microproxy.frames.Http3Frame
The largest variable-length integer, 2^62-1.
MAX_WINDOW_SIZE - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
The largest flow-control window and SETTINGS_INITIAL_WINDOW_SIZE, 2^31 - 1.
maxAckDelay() - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Our max_ack_delay.
maxAckDelay() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the maxAckDelay record component.
maxAckDelay() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the maxAckDelay record component.
maxAckDelay(long) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets our max_ack_delay.
maxAckDelay(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets max_ack_delay.
maxAckDelay(Duration) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The max_ack_delay transport parameter: how long this endpoint may delay ACKs.
maxAckDelayForPto() - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
The max_ack_delay to compute the PTO with: the larger of the peer's and any requested but unacknowledged one, which the peer may already use.
maxAckDelayTimeout(long) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
When an ACK is due because max_ack_delay expires.
maxAllocBytes() - Method in record class org.microproxy.starlark.StarlarkScript.Limits
Returns the value of the maxAllocBytes record component.
maxAttributes() - Method in record class org.microproxy.otel.SpanLimits
Returns the value of the maxAttributes record component.
maxAttributesPerEvent() - Method in record class org.microproxy.otel.SpanLimits
Returns the value of the maxAttributesPerEvent record component.
maxAttributeValueLength() - Method in record class org.microproxy.otel.SpanLimits
Returns the value of the maxAttributeValueLength record component.
maxBlockedStreams() - Method in class io.github.mahmoudimus.http3.QpackDecoder
How many streams may wait for the encoder stream: our SETTINGS_QPACK_BLOCKED_STREAMS.
maxBodyBytes() - Method in class org.microproxy.extras.HttpLogger
Returns the maximum body bytes retained per log entry.
maxBodyBytes(int) - Method in class org.microproxy.extras.HttpLogger.Builder
At HttpLogger.Level.BODY, keeps at most this many bytes of each body (and of each WebSocket frame's text); the rest is counted but not kept.
maxBodySize(int) - Method in class org.microproxy.extras.BlockList.Builder
Largest request body buffered for filters that look at it (~bq); default 10 MiB.
maxBodySize(int) - Method in class org.microproxy.extras.HarRecorder.Builder
The most bytes kept of each body (default 1 MiB); the rest is counted but not recorded.
maxBodySize(int) - Method in class org.microproxy.extras.MapLocal.Builder
Largest request body buffered for filters that look at it (~bq); default 10 MiB.
maxBodySize(int) - Method in class org.microproxy.extras.MapRemote.Builder
Largest request body buffered for filters that look at it (~bq); default 10 MiB.
maxBodySize(int) - Method in class org.microproxy.extras.ModifyBody.Builder
Largest body (as received) buffered for editing; default 10 MiB.
maxBodySize(int) - Method in class org.microproxy.extras.RewriteRules.Builder
Largest response body (as received) that is buffered for editing; default 10 MiB.
maxBodySize(int) - Method in class org.microproxy.extras.ServerReplay.Builder
Largest request body buffered to compare it (default 16 MiB); a larger one is answered with 413, unless bodies are ignored.
maxBodySize(int) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
The most body bytes buffered for a script (default 10 MiB).
maxBodySize(long) - Method in class org.microproxy.warc.WarcRecorder.Builder
Record at most this much of each body (default 512 MiB).
maxBytes() - Method in record class org.microproxy.ProxyFailure.RequestTooLarge
Returns the value of the maxBytes record component.
maxBytesPerSecond() - Method in class io.github.mahmoudimus.quic.connection.Pacer
The rate limit this pacer was built with.
maxClusters() - Method in class org.microproxy.stats.StatsRegistry
Returns how many clusters may have stats of their own.
maxClusters(int) - Method in class org.microproxy.stats.StatsRegistry.Builder
How many clusters (chained proxies, and servers with StatsRegistry.Builder.perHostClusters) may have stats of their own (default 100), besides direct, cache, replay and other, which always may.
maxConcurrent(Dir) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
How many remote streams of a directionality are allowed and not fully closed.
maxConcurrentBidiStreams(long) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
How many bidirectional streams the peer may have open at once.
maxConcurrentStreams() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the maxConcurrentStreams record component.
maxConcurrentStreams() - Method in class org.microproxy.Http2Options
SETTINGS_MAX_CONCURRENT_STREAMS: streams a client may have open at once.
maxConcurrentStreams() - Method in class org.microproxy.Http3Options
Returns the request streams a client may have open at once (QUIC's bidirectional stream limit).
maxConcurrentStreams(int) - Method in class org.microproxy.Http2Options.Builder
Streams a client may have open at once (default 100).
maxConcurrentStreams(int) - Method in class org.microproxy.Http3Options.Builder
Request streams a client may have open at once (default 100): QUIC's limit on the bidirectional streams it may open, which the transport enforces and raises as streams end.
maxConcurrentStreams(long) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets the concurrent stream limit.
maxConcurrentUniStreams(long) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
How many unidirectional streams the peer may have open at once.
maxConnections() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
The most connections the endpoint holds at once; further connection attempts are refused.
maxConnections(int) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
The most connections held at once.
maxData - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Whether a MAX_DATA is needed.
MaxData(long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.MaxData
A MAX_DATA frame.
maxDatagramFrameSize() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the maxDatagramFrameSize record component.
maxDatagramFrameSize(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets max_datagram_frame_size.
maxDatagramSize() - Method in class io.github.mahmoudimus.quic.connection.Connection
The largest datagram payload Connection.sendDatagram(java.nio.ByteBuffer) takes now, which depends on the path MTU and the peer's max_datagram_frame_size.
maxDatagramSize() - Method in class io.github.mahmoudimus.quic.QuicConnection
The largest datagram payload QuicConnection.sendDatagram(byte[]) takes now.
maxDynamicTableCapacity() - Method in class io.github.mahmoudimus.http3.QpackEncoder
The largest capacity the dynamic table may have: the smaller of our limit and the peer's.
maxEmptyFrames() - Method in class org.microproxy.Http2Options
DATA frames without data or END_STREAM, and empty trailing HEADERS, per window.
maxEmptyFrames(int) - Method in class org.microproxy.Http2Options.Builder
Frames that carry nothing, DATA frames with no data and no END_STREAM, per window (default 1000); more is GOAWAY ENHANCE_YOUR_CALM.
maxEntrySize(int) - Method in class org.microproxy.cache.HttpCache.Builder
The largest response body stored (default 8 MiB); larger ones stream past.
maxEvents() - Method in record class org.microproxy.otel.SpanLimits
Returns the value of the maxEvents record component.
maxFieldSectionSize() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns the value of the maxFieldSectionSize record component.
maxFieldSectionSize() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The largest decoded field section accepted.
maxFieldSectionSize() - Method in class org.microproxy.Http3Options
SETTINGS_MAX_FIELD_SECTION_SIZE, or 0 for the default: the proxy's max_header_size plus max_initial_line_length, the same room an HTTP/1 request head has.
maxFieldSectionSize(long) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Sets SETTINGS_MAX_FIELD_SECTION_SIZE.
maxFieldSectionSize(long) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
The largest decoded field section accepted (default 64 KiB).
maxFieldSectionSize(long) - Method in class org.microproxy.Http3Options.Builder
The largest field section the proxy accepts, counted as HTTP/3 counts it (names and values plus 32 octets per field), advertised as SETTINGS_MAX_FIELD_SECTION_SIZE.
maxFileSize(long) - Method in class org.microproxy.warc.WarcRecorder.Builder
Start a new file after this many bytes (default 1 GiB).
maxForSize(int) - Static method in class io.github.mahmoudimus.quic.VarInt
The largest value that encodes in at most size bytes.
maxFramePayloadSize() - Method in class io.github.mahmoudimus.http3.Http3FrameReader
The largest payload accepted.
maxFramePayloadSize(int) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
The largest frame payload read (default 64 KiB); a longer DATA frame is shown in pieces of this size, any other longer frame fails the stream.
maxFrameSize() - Method in class io.github.mahmoudimus.http2.FrameReader
Returns the current frame payload limit.
maxFrameSize() - Method in class io.github.mahmoudimus.http2.FrameWriter
Returns the current frame payload limit.
maxFrameSize() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the maxFrameSize record component.
maxFrameSize(int) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets the maximum frame payload.
maxHandshakeMessageSize(int) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The largest handshake message body accepted from the peer; a longer one fails with CRYPTO_BUFFER_EXCEEDED.
maxHeaderBlockSize() - Method in class io.github.mahmoudimus.http2.FrameReader
Returns the encoded field block limit.
maxHeaderListSize() - Method in class io.github.mahmoudimus.http2.HpackDecoder
Returns the decoded field section limit.
maxHeaderListSize() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns the value of the maxHeaderListSize record component.
maxHeaderListSize() - Method in class org.microproxy.Http2Options
SETTINGS_MAX_HEADER_LIST_SIZE, or 0 for the default: the proxy's max_header_size plus max_initial_line_length, the same room an HTTP/1 request head has.
maxHeaderListSize(int) - Method in class org.microproxy.Http2Options.Builder
The largest request header section, counted as HTTP/2 counts it (names and values plus 32 octets per field); larger requests have their stream reset. 0 (the default) derives it from the HTTP/1 limits: withMaxHeaderSize plus withMaxInitialLineLength.
maxHeaderListSize(long) - Method in class io.github.mahmoudimus.http2.Http2Settings.Builder
Sets the decoded field section limit.
maxHeaderTableSize() - Method in class io.github.mahmoudimus.http2.HpackDecoder
Returns the advertised dynamic table limit.
maxIdleTimeout() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The idle timeout this endpoint offers; the connection uses the smaller of both sides'.
maxIdleTimeout() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the maxIdleTimeout record component.
maxIdleTimeout(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets max_idle_timeout.
maxIdleTimeout(Duration) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The idle timeout to offer (RFC 9000 section 10.1); the smaller of both sides' applies.
maximum() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
Returns the value of the maximum record component.
maximum() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
Returns the value of the maximum record component.
maximum() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
Returns the value of the maximum record component.
maxMessageSize() - Method in class org.microproxy.quic.QuicFraming
Returns the most bytes a message may have, its prefix or delimiter included.
maxOutgoingBytesPerSecond() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the maxOutgoingBytesPerSecond record component.
maxOutgoingBytesPerSecond(long) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets a pacing rate limit.
maxOutgoingBytesPerSecond(long) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Caps the sending rate through the pacer.
maxPacketSize(int) - Method in class org.microproxy.stats.StatsdSink.Builder
The largest datagram to send (default 1432 bytes, which fits an Ethernet frame).
maxPings() - Method in class org.microproxy.Http2Options
PING frames per window.
maxPings(int) - Method in class org.microproxy.Http2Options.Builder
PING frames per window (default 100); more is GOAWAY ENHANCE_YOUR_CALM.
MaxPushId(long) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.MaxPushId
Creates MAX_PUSH_ID.
MaxPushId(long) - Constructor for record class org.microproxy.frames.Http3Frame.MaxPushId
Creates MAX_PUSH_ID.
maxRapidResets() - Method in class org.microproxy.Http2Options
Returns streams the client may reset (or open past the concurrency limit) before they complete, per window.
maxRapidResets() - Method in class org.microproxy.Http3Options
Returns requests a client may cancel before their response completes, per window.
maxRapidResets(int) - Method in class org.microproxy.Http2Options.Builder
Streams the client may reset before their response completes, or open past the concurrency limit, per window (default 100), against the Rapid Reset attack (CVE-2023-44487); more is GOAWAY ENHANCE_YOUR_CALM.
maxRapidResets(int) - Method in class org.microproxy.Http3Options.Builder
Requests a client may cancel (reset) before their response completes, per window (default 100), against the Rapid Reset attack; more is a connection error H3_EXCESSIVE_LOAD.
maxResets() - Method in class org.microproxy.Http2Options
RST_STREAM and PRIORITY frames per window.
maxResets(int) - Method in class org.microproxy.Http2Options.Builder
RST_STREAM and PRIORITY frames per window (default 1000); more is GOAWAY ENHANCE_YOUR_CALM.
maxScriptStats() - Method in class org.microproxy.stats.StatsRegistry
Returns how many stats scripts may make.
maxScriptStats(int) - Method in class org.microproxy.stats.StatsRegistry.Builder
How many stats scripts may make (default 100); past that, a script's new stats do nothing.
maxSettings() - Method in class org.microproxy.Http2Options
SETTINGS frames per window.
maxSettings(int) - Method in class org.microproxy.Http2Options.Builder
SETTINGS frames per window (default 100); more is GOAWAY ENHANCE_YOUR_CALM.
maxStats() - Method in class org.microproxy.stats.StatsScope
Returns how many metrics the scope may make.
maxSteps() - Method in record class org.microproxy.starlark.StarlarkScript.Limits
Returns the value of the maxSteps record component.
maxSteps() - Method in record class org.microproxy.starlark.stdlib.Stdlib.Limits
Returns the value of the maxSteps record component.
maxStreamData - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Streams that need a MAX_STREAM_DATA.
MaxStreamData(long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
A MAX_STREAM_DATA frame.
maxStreamId - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Whether a MAX_STREAMS is needed, indexed by Enum.ordinal().
MaxStreams(boolean, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
A MAX_STREAMS frame.
maxTableCapacity() - Method in class io.github.mahmoudimus.http3.QpackDecoder
The largest dynamic table the encoder may use: our SETTINGS_QPACK_MAX_TABLE_CAPACITY.
maxUdpPayloadSize() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the maxUdpPayloadSize record component.
maxUdpPayloadSize(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The max_udp_payload_size transport parameter: the largest datagram this endpoint receives.
maxUdpPayloadSize(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets max_udp_payload_size.
maxUnknownFrames() - Method in class org.microproxy.Http3Options
Returns frames of unknown and reserved types, and empty DATA frames, a peer may send per window.
maxUnknownFrames(int) - Method in class org.microproxy.Http3Options.Builder
Frames of unknown and reserved types (which HTTP/3 says to ignore), and empty DATA frames, a peer may send per window, on all its streams together (default 1000); more is a connection error H3_EXCESSIVE_LOAD.
maxUnknownStreams() - Method in class org.microproxy.Http3Options
Returns unidirectional streams of unknown and reserved types a peer may open per window.
maxUnknownStreams(int) - Method in class org.microproxy.Http3Options.Builder
Unidirectional streams of unknown and reserved types (which HTTP/3 says to abandon) a peer may open per window (default 100); more is a connection error H3_EXCESSIVE_LOAD.
maxWindowSize(int) - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor.Builder
Rejects frames whose window (history) is larger than this many bytes.
maxWindowUpdates() - Method in class org.microproxy.Http2Options
WINDOW_UPDATE frames per window.
maxWindowUpdates(int) - Method in class org.microproxy.Http2Options.Builder
WINDOW_UPDATE frames per window (default 10000); more is GOAWAY ENHANCE_YOUR_CALM.
maybeAckNonEliciting() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Requires an ACK in the next packet if many non-ack-eliciting packets went unacknowledged, which helps a peer that sends nothing ack-eliciting detect loss.
maybeQueueProbe(boolean, boolean, StreamsState) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Fills a loss probe after a PTO (RFC 9002 section 6.2.4): if no new data is waiting, the oldest in-flight packet's control frames are queued again (and taken from that packet, so they are not resent twice), and failing that a PING.
mayMatch(FlowFilter.Flow) - Method in class org.microproxy.extras.FlowFilter
Whether flow could match once the bodies that are not available yet are known: false only when the parts already known rule a match out.
mediaType() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns the media type of ContentView.Metadata.contentType in lower case, without parameters, or "".
mediaType(HttpMessage) - Static method in class org.microproxy.http.HttpBodies
The media type of Content-Type in lower case, without parameters, or "".
members() - Method in class org.microproxy.HttpFiltersChain.Chained
Returns the member filters, in order.
memory() - Static method in record class io.github.mahmoudimus.quic.connection.SessionCache
A bounded in-memory cache for 256 servers: up to 8 tickets and 2 tokens each.
MemoryCacheStore - Class in org.microproxy.cache
Keeps responses in memory, evicting the least recently used URLs beyond a size limit.
MemoryCacheStore(long) - Constructor for class org.microproxy.cache.MemoryCacheStore
Creates an in-memory store with a byte-weight limit.
merge(Retransmits) - Method in class io.github.mahmoudimus.quic.connection.Retransmits
Merges another set of pending frames into this one.
merge(ProtoSchema) - Method in class org.microproxy.contentviews.ProtoSchema
This schema with the definitions of other added; where both define a name, other's definition wins.
message() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns the value of the message record component.
message() - Method in record class org.microproxy.contentviews.ProtoValue.Group
Returns the value of the message record component.
message() - Method in record class org.microproxy.contentviews.ProtoValue.Message
Returns the value of the message record component.
message(String) - Static method in class org.microproxy.contentviews.Grpc
Decodes grpc-message, which is percent-encoded UTF-8.
message(String) - Method in class org.microproxy.contentviews.ProtoSchema
The message type named fullName.
Message(ProtoMessage) - Constructor for record class org.microproxy.contentviews.ProtoValue.Message
Wraps message.
MESSAGE - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
A nested message: length-delimited.
messageFor(String, boolean) - Method in class org.microproxy.contentviews.ProtoSchema
The message type of a gRPC call's requests or responses.
MessageFramer - Interface in org.microproxy.quic
Finds the messages of a protocol in the bytes of a QUIC stream, so that QuicInterceptor.streamMessage(org.microproxy.quic.QuicMessage, org.microproxy.quic.QuicStreamContext) sees whole messages rather than whatever each read returned (see QuicFraming, which chooses a framer for each connection).
messages() - Method in class org.microproxy.contentviews.ProtoSchema
Returns the message types, by full name.
messages(byte[], String) - Static method in class org.microproxy.contentviews.Grpc
Splits a body into its messages, decompressing those that are compressed.
Messages - Search tag in interface org.microproxy.quic.QuicInterceptor
Section
Messages - Search tag in interface org.microproxy.tcp.TcpInterceptor
Section
Messages - Search tag in interface org.microproxy.udp.UdpInterceptor
Section
Metadata(String, HttpHeaders, HttpHeaders, String, boolean) - Constructor for record class org.microproxy.contentviews.ContentView.Metadata
Fills in empty header fields for null, and reduces an absolute URI to its path.
method() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the method record component.
method() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the method record component.
method() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the method record component.
method() - Method in class org.microproxy.http.DefaultHttpRequest
 
method() - Method in interface org.microproxy.http.HttpRequest
Returns the request method.
method(String) - Method in class org.microproxy.contentviews.ProtoSchema
The RPC method a gRPC request path names.
Method(String, String, String, String, boolean, boolean) - Constructor for record class org.microproxy.contentviews.ProtoSchema.Method
Creates an instance of a Method record class.
METHOD_NOT_ALLOWED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
methods() - Method in class org.microproxy.contentviews.ProtoSchema
Returns the RPC methods, by request path.
methods(String...) - Method in class org.microproxy.extras.RewriteRules.Rule
Restricts the rule to these methods.
Metric - Interface in org.microproxy.stats
A named statistic of a StatsRegistry: a Counter, a Gauge or a Histogram.
Metric.Type - Enum Class in org.microproxy.stats
What kind of metric a Metric is.
metricInterval(Duration) - Method in class org.microproxy.otel.Telemetry.Builder
How often metrics are exported (OTEL_METRIC_EXPORT_INTERVAL, 60 s).
metricName(String) - Static method in class org.microproxy.stats.StatsFormatter
name as a Prometheus metric name: every character other than a letter, digit, _ or : becomes _, and a leading digit gets a _ before it.
metricPrefix(String) - Method in class org.microproxy.otel.Telemetry.Builder
The prefix of exported metric names; the registry's (envoy) by default.
metrics() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
metrics() - Method in interface io.github.mahmoudimus.quic.congestion.Controller
Metrics for statistics and tracing.
metrics() - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
metrics() - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
metrics() - Method in class org.microproxy.stats.StatsRegistry
Returns the metrics, sorted by flat name.
metrics(boolean) - Method in class org.microproxy.otel.Telemetry.Builder
Whether the proxy's stats are exported as metrics (OTEL_METRICS_EXPORTER).
metricsEndpoint(String) - Method in class org.microproxy.otel.Telemetry.Builder
The URL metrics go to, as it is.
MicroProxy - Class in org.microproxy
Entry point: MicroProxy.bootstrap().withPort(8080).start().
microsecondBounds() - Static method in interface org.microproxy.stats.Histogram
Returns bucket bounds for short durations in microseconds, such as a hook's run: 1, 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000, 25000, 50000, 100000, 250000, 500000 and 1000000.
migrate(InetSocketAddress) - Method in class io.github.mahmoudimus.quic.QuicConnection
Client: moves the connection to a new local address (RFC 9000 section 9), waiting until it has.
migrate(DatagramChannel) - Method in class io.github.mahmoudimus.quic.QuicConnection
Client: moves the connection to a socket of the caller's, as QuicConnection.migrate(InetSocketAddress) does with one it binds.
migration() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
Whether clients may migrate to new addresses (RFC 9000 section 9).
migration(boolean) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
Whether clients may migrate (RFC 9000 section 9): on by default, as in quinn.
migrations() - Method in class io.github.mahmoudimus.quic.connection.Connection
Moves to a new path: on a server, each time it followed its client to a new address (a NAT rebinding, a migration, the preferred address), not counting a return to the previous path after a failed validation; on a client, each switch to a path it probed and each Connection.rebind(long, java.net.InetSocketAddress).
migrations() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the migrations record component.
min() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
The minimum RTT seen.
min() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The smallest value.
MIN_INITIAL_DATAGRAM - Static variable in class io.github.mahmoudimus.quic.packet.PacketBuilder
The smallest datagram that may carry a client's Initial packet (RFC 9000 section 14.1).
MIN_MTU - Static variable in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
The smallest MTU QUIC allows, 1200 bytes (RFC 9000 section 14).
MIN_RESET_DATAGRAM - Static variable in class io.github.mahmoudimus.quic.StatelessResetToken
The smallest datagram that can be a Stateless Reset: 5 bytes that look like a short header plus the token (RFC 9000 section 10.3).
MIN_UDP_PAYLOAD_SIZE - Static variable in record class io.github.mahmoudimus.quic.params.TransportParameters
The smallest valid max_udp_payload_size.
minAckDelay() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the minAckDelay record component.
minAckDelay(long) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets min_ack_delay.
minimum() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the minimum record component.
minimumChange() - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Returns the value of the minimumChange record component.
minMtu() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the minMtu record component.
minMtu(int) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the minimum MTU.
minMtu(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The UDP payload size the path is assumed to carry, at least 1200.
minorVersion() - Method in record class org.microproxy.http.HttpVersion
Returns the value of the minorVersion record component.
minPayloadLength(int) - Static method in class io.github.mahmoudimus.quic.packet.PacketProtection
The fewest payload bytes a packet needs so that the header protection sample, which starts four bytes after the packet number, lies within the ciphertext and tag.
minResetInterval(Duration) - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
The least time between two stateless resets, which bounds what spoofed packets can make the endpoint send.
minRtt() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
The minimum RTT the model uses.
minRtt() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the minRtt record component.
misses() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns the value of the misses record component.
MISSING_EXTENSION - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A message lacked an extension it must carry (109).
MitmManager - Interface in org.microproxy
Enables man-in-the-middle interception of CONNECT tunnels.
mitmServerHandshake() - Method in class org.microproxy.ProtocolPolicy
When the proxy runs its TLS handshake with the server for an intercepted CONNECT: after answering it and reading the client's ClientHello, which it can then mirror (MitmServerHandshake.DEFERRED), or before answering, so that a failure answers the CONNECT itself (MitmServerHandshake.EAGER).
mitmServerHandshake(MitmServerHandshake) - Method in class org.microproxy.Http1PolicyBuilder
 
mitmServerHandshake(MitmServerHandshake) - Method in class org.microproxy.HttpFiltersBuilder
When the proxy runs its TLS handshake with the server for these requests' intercepted CONNECTs, instead of the protocol policy's choice (see HttpFilters.proxyToServerMitmHandshake()).
mitmServerHandshake(MitmServerHandshake) - Method in class org.microproxy.ProtocolPolicy.Builder
MitmServerHandshake - Enum Class in org.microproxy
When the proxy runs its TLS handshake with the server for a CONNECT it intercepts: after answering the CONNECT and reading the client's ClientHello, or before answering.
mname() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the mname record component.
mode() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
The current mode.
ModifyBody - Class in org.microproxy.extras
Replaces text in request and response bodies, as mitmproxy's modify_body: every match of a regular expression in the decoded body becomes the replacement, in the messages a rule's filter selects.
ModifyBody.Builder - Class in org.microproxy.extras
Builds ModifyBody.
ModifyBody.Rule - Class in org.microproxy.extras
One rule: a regular expression to replace in the bodies a filter selects.
ModifyHeaders - Class in org.microproxy.extras
Sets and removes headers, as mitmproxy's modify_headers.
ModifyHeaders.Rule - Class in org.microproxy.extras
One rule: a header to replace on the messages a filter matches.
MODULE_LIMITS - Static variable in class org.microproxy.starlark.stdlib.Stdlib
Bounds on running one module's top level (each module separately).
MOVED_PERMANENTLY - Static variable in record class org.microproxy.http.HttpResponseStatus
 
mtu() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the mtu record component.
mtud() - Method in class io.github.mahmoudimus.quic.connection.Recovery
MTU discovery.
mtuDiscovery() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the mtuDiscovery record component.
mtuDiscovery(boolean) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Turns path MTU discovery (RFC 8899) on with its default settings, or off.
mtuDiscovery(MtuDiscoveryConfig) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets MTU discovery.
MtuDiscovery - Class in io.github.mahmoudimus.quic.connection
Datagram packetization layer path MTU discovery (DPLPMTUD, RFC 8899): probes larger packets in the application data space by binary search, and detects MTU black holes from the pattern of lost packets.
mtuDiscoveryConfig(MtuDiscoveryConfig) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Path MTU discovery settings, or null to turn it off.
MtuDiscoveryConfig - Record Class in io.github.mahmoudimus.quic.connection
Configuration of DPLPMTUD, packetization layer path MTU discovery (RFC 8899, RFC 9000 section 14.3).
MtuDiscoveryConfig(long, int, int, long) - Constructor for record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
A configuration; upperBound is clamped to MtuDiscoveryConfig.MAX_UDP_PAYLOAD.
mtuDiscoveryEnabled() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
Whether MTU discovery is on.
Mx(int, String) - Constructor for record class org.microproxy.dns.DnsMessage.Mx
Checks the name.
MX - Static variable in class org.microproxy.dns.DnsMessage
Type MX: a mail exchange.

N

name() - Method in record class io.github.mahmoudimus.http2.HeaderField
Returns the value of the name record component.
name() - Method in record class io.github.mahmoudimus.http3.HeaderField
Returns the value of the name record component.
name() - Method in interface org.microproxy.contentviews.ContentView
Returns the view's name, in lower case, such as grpc.
name() - Method in record class org.microproxy.contentviews.ProtoField
Returns the declared name of the field, or null without a declaration.
name() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns the value of the name record component.
name() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the value of the name record component.
name() - Method in record class org.microproxy.dns.DnsMessage.Name
Returns the value of the name record component.
name() - Method in record class org.microproxy.dns.DnsMessage.Question
Returns the value of the name record component.
name() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns the value of the name record component.
name() - Method in class org.microproxy.extras.ModifyHeaders.Rule
Returns the header name.
name() - Method in record class org.microproxy.frames.Field
Returns the value of the name record component.
name() - Method in class org.microproxy.http.HttpMethod
Returns the case-sensitive method name.
name() - Method in interface org.microproxy.otel.Propagator
Returns the name OTEL_PROPAGATORS gives this propagator, such as tracecontext.
name() - Method in class org.microproxy.starlark.StarlarkScript
The name given at compile time (the file path for loaded scripts).
name() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Returns the hash algorithm name.
name() - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Returns the HMAC algorithm name.
name() - Method in interface org.microproxy.stats.Metric
Returns the flat name, such as cluster.direct.upstream_rq_total.
name() - Method in record class org.microproxy.stats.Tag
Returns the value of the name record component.
name(int) - Static method in class io.github.mahmoudimus.http2.FrameType
A readable name for a frame type code, for messages.
name(int) - Static method in class io.github.mahmoudimus.quic.tls.TlsAlert
The alert's name, as RFC 8446 spells it.
name(long) - Static method in class io.github.mahmoudimus.http3.Http3FrameType
A readable name for a frame type, for messages.
name(long) - Static method in class io.github.mahmoudimus.http3.Http3StreamType
A readable name for a stream type, for messages.
name(String) - Method in class org.microproxy.cache.HttpCache.Builder
The cache's name in Cache-Status (default "MicroProxy").
Name(String) - Constructor for record class org.microproxy.dns.DnsMessage.Name
Checks the name.
nameAt(int) - Method in class org.microproxy.http.HttpHeaders
The name of field index (0 to HttpHeaders.size() - 1), as received.
named(String) - Static method in interface org.microproxy.quic.MessageFramer
A built-in framer by name: u16, u32, varint, lf (also line and newline) or crlf.
NamedGroup - Enum Class in io.github.mahmoudimus.quic.tls
The (EC)DHE groups the handshake offers and accepts for key exchange (RFC 8446 section 4.2.7).
names() - Method in class org.microproxy.contentviews.ContentViews
Returns "auto" and the views' names, sorted.
names() - Method in class org.microproxy.http.HttpHeaders
The distinct field names, in first-seen order and original spelling.
NanoClock - Interface in io.github.mahmoudimus.quic.connection
A monotonic clock in nanoseconds, injected into the connection layer so that timers can be driven deterministically in tests.
nanos() - Method in class org.microproxy.ScriptUsage
Returns the nanoseconds the calls took, together.
nanoTime() - Method in interface io.github.mahmoudimus.quic.connection.NanoClock
The current time.
natRebindings() - Method in class io.github.mahmoudimus.quic.connection.Connection
The server's Connection.migrations() to a new port of the client's address, with the same local address: what a NAT rebinding looks like, and what keeps the congestion and RTT state.
natRebindings() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the natRebindings record component.
NE - Enum constant in enum class org.microproxy.extras.AccessLogFilter.Comparison
Not equal.
NEED_MORE - Static variable in interface org.microproxy.quic.MessageFramer
What MessageFramer.frameLength(byte[], int, int) returns while the bytes do not yet say how long the next message is.
negate() - Method in interface org.microproxy.extras.AccessLogFilter
Returns a filter that passes what this one does not.
negotiatedAlpn() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The application protocol agreed with ALPN.
negotiatedGroup() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The key exchange group used.
NEW_CONNECTION_ID - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
NEW_CONNECTION_ID (0x18).
NEW_RENO - Enum constant in enum class io.github.mahmoudimus.quic.connection.TransportConfig.CongestionControl
NewReno (RFC 9002).
NEW_RENO - Enum constant in enum class org.microproxy.Http3Options.QuicCongestionControl
NewReno (RFC 9002).
NEW_TOKEN - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
NEW_TOKEN (0x07), sent by servers only.
newCids - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
NEW_CONNECTION_ID frames to send.
NewConnection(Connection) - Constructor for record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.NewConnection
Creates an instance of a NewConnection record class.
NewConnectionId(long, long, ConnectionId, StatelessResetToken) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
A NEW_CONNECTION_ID frame.
newHash(String, Object, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.HashlibModule
Creates a hash object initialized with supplied bytes.
NewReno - Class in io.github.mahmoudimus.quic.congestion
The NewReno congestion controller of RFC 9002 section 7: slow start, then congestion avoidance growing the window by one datagram per window acknowledged (Appropriate Byte Counting, RFC 3465), and a multiplicative decrease once per recovery period.
NewReno(NewRenoConfig, long, int) - Constructor for class io.github.mahmoudimus.quic.congestion.NewReno
A controller in slow start.
NewRenoConfig - Record Class in io.github.mahmoudimus.quic.congestion
Configuration of the NewReno controller.
NewRenoConfig(long, double) - Constructor for record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
A configuration.
NewToken(ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.NewToken
A NEW_TOKEN frame.
newTokens - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
One entry per NEW_TOKEN frame to send, holding the path's remote address: a lost token is replaced by a fresh one, and only for the path it was meant for.
newTokens() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
How many NEW_TOKEN tokens a connection sends the client after its handshake.
newTokens(int) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
How many NEW_TOKEN tokens to send each client after its handshake (RFC 9000 section 8.1.3).
next() - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
Switches to the next known ID, as when migrating or for a server leaving the handshake ID.
next() - Method in class org.microproxy.warc.WarcReader
Reads the next record.
next(int) - Method in class io.github.mahmoudimus.quic.connection.Chunks
The next chunk.
nextOneRttSecrets() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Derives the next generation of 1-RTT secrets for a key update (RFC 9001 section 6): HKDF-Expand-Label(secret, "quic ku", "", Hash.length) on both traffic secrets, with the suite's hash.
nextPacketNumber() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The number of the next packet to send.
nextPacketNumber(SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Allocates the next packet number of a space; the application data space occasionally skips one (see PacketNumberFilter).
nextSecret(CipherSuite, byte[], QuicVersion) - Static method in record class io.github.mahmoudimus.quic.crypto.Keys
The next secret of one direction after a key update.
nextSecrets() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Takes the next newly available secrets, in the order they became available.
nextSecrets(Secrets, QuicVersion) - Static method in record class io.github.mahmoudimus.quic.crypto.Keys
The secrets after a key update: each secret expanded with the version's "quic ku" label to the hash length (RFC 9001 section 6.1).
nextSequenceNumber() - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Allocates the next ACK_FREQUENCY sequence number.
nextTimeout() - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
When the next batch of IDs reaches the end of its lifetime.
nextTimeout() - Method in class io.github.mahmoudimus.quic.connection.TimerTable
The earliest deadline.
NO_APPLICATION_PROTOCOL - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
No application protocol could be agreed with ALPN (120).
NO_CLUSTER_FOUND - Enum constant in enum class org.microproxy.ResponseFlag
NC: no upstream cluster was found.
NO_CONTENT - Static variable in record class org.microproxy.http.HttpResponseStatus
 
NO_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
Graceful completion without an error.
NO_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
No error.
NO_FILTER_CONFIG_FOUND - Enum constant in enum class org.microproxy.ResponseFlag
NFCF: no filter configuration was found.
NO_HEALTHY_UPSTREAM - Enum constant in enum class org.microproxy.ResponseFlag
UH: no healthy upstream.
NO_RESPONSE - Static variable in class org.microproxy.extras.BlockList
The status that means "close the connection without a response", as in mitmproxy and nginx.
NO_ROUTE_FOUND - Enum constant in enum class org.microproxy.ResponseFlag
NR: there was nowhere to send the request.
NO_STREAM - Static variable in exception class io.github.mahmoudimus.http3.Http3Exception
The Http3Exception.streamId() of a connection error.
NO_VIABLE_PATH - Static variable in exception class io.github.mahmoudimus.quic.QuicException
No viable network path.
NoConnectionAvailable(String) - Constructor for record class org.microproxy.ProxyFailure.NoConnectionAvailable
Creates an instance of a NoConnectionAvailable record class.
nonce() - Method in class io.github.mahmoudimus.quic.token.Token
The token's nonce, visible to the client.
nonce(long) - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
The nonce for a packet number: the IV XORed with the 62-bit packet number, left-padded.
NONCE_LENGTH - Static variable in class io.github.mahmoudimus.quic.crypto.PacketKey
The nonce (and IV) length of every QUIC AEAD, in bytes.
NONCE_LENGTH - Static variable in class io.github.mahmoudimus.quic.token.Token
The nonce length, in bytes.
none() - Static method in record class io.github.mahmoudimus.quic.connection.SessionCache
A cache that remembers nothing: every connection makes a full handshake.
none() - Static method in class org.microproxy.NoProxyRules
Returns rules that never bypass the upstream proxy.
none() - Static method in class org.microproxy.quic.QuicFraming
Returns no rules at all: every connection unframed, DNS over QUIC included.
none() - Static method in class org.microproxy.RetryBackoff
No waiting: the next route is tried as soon as an attempt fails.
none() - Static method in class org.microproxy.stats.TagExtractor
Returns an extractor with no rules, which leaves every name whole.
NONE - Enum constant in enum class io.github.mahmoudimus.quic.tls.ClientAuth
No CertificateRequest is sent.
NONE - Enum constant in enum class org.microproxy.otel.Telemetry.WhenStripped
No trace context at all: the server never learns of the trace.
NONE - Static variable in interface io.github.mahmoudimus.quic.connection.NanoClock
The time that is not set, used where a time is optional.
NONE - Static variable in interface io.github.mahmoudimus.quic.connection.Recovery.Listener
A listener that does nothing.
NONE - Static variable in interface io.github.mahmoudimus.quic.tls.ClientSessionStore
A store that keeps nothing, so every connection makes a full handshake.
NONE - Static variable in interface io.github.mahmoudimus.quic.token.TokenLog
A log that refuses every token, so NEW_TOKEN tokens never validate an address.
NONE - Static variable in interface io.github.mahmoudimus.quic.token.TokenStore
A store that keeps nothing.
NONE - Static variable in record class org.microproxy.FlowTimings
No exchange recorded, e.g. for a context made outside the proxy.
NONE - Static variable in interface org.microproxy.FlowTrace
No trace: ids are null and every call does nothing.
NONE - Static variable in interface org.microproxy.FlowTrace.Span
No span: every call does nothing.
NONE - Static variable in class org.microproxy.quic.QuicFraming
The name of no framing.
NONE - Static variable in class org.microproxy.ScriptUsage
The totals of an exchange no script was called for: all zero, and never added to.
NOOP - Static variable in interface org.microproxy.FlowTracer
Traces nothing.
NOOP - Static variable in interface org.microproxy.ScriptCallObserver
Sees nothing.
NOOP - Static variable in class org.microproxy.stats.StatsRegistry
A registry whose metrics do nothing and that keeps none; the default of every proxy.
NOOP_FILTER - Static variable in class org.microproxy.HttpFiltersAdapter
A filter that does nothing.
NoProxyRules - Class in org.microproxy
Hosts that bypass the upstream proxy, in the comma-separated NO_PROXY syntax used by curl and most HTTP clients: * matches every host; example.com, .example.com and *.example.com match the domain and all its subdomains; an IP literal matches that address, and CIDR notation (10.0.0.0/8, fd00::/8) matches a range; addresses are compared only when the request names an IP literal (no DNS lookups); any entry may end in :port to apply to that port only.
NoRoute(String) - Constructor for record class org.microproxy.ProxyFailure.NoRoute
Creates an instance of a NoRoute record class.
NOT_FOUND - Static variable in record class org.microproxy.http.HttpResponseStatus
 
NOT_IMPLEMENTED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
NOT_MODIFIED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
notHealthCheck() - Static method in interface org.microproxy.extras.AccessLogFilter
Leaves out health checks: requests for AccessLogFilter.DEFAULT_HEALTH_CHECK_PATH, and requests from Envoy's health checker (User-Agent: Envoy/HC).
notHealthCheckHeader(String) - Static method in interface org.microproxy.extras.AccessLogFilter
Leaves out health checks: requests that carry the field header.
notHealthCheckPath(String) - Static method in interface org.microproxy.extras.AccessLogFilter
Leaves out health checks: requests for path (its query aside), and requests from Envoy's health checker (User-Agent: Envoy/HC).
NS - Static variable in class org.microproxy.dns.DnsMessage
Type NS: a name server.
number() - Method in record class org.microproxy.contentviews.ProtoField
Returns the value of the number record component.
number() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns the value of the number record component.
number() - Method in enum class org.microproxy.contentviews.ProtoSchema.Type
Returns the type's number in FieldDescriptorProto.Type.
number(String) - Method in record class org.microproxy.contentviews.ProtoSchema.EnumType
The number of the value named name.

O

observe(QuicConnection.Observer) - Method in class io.github.mahmoudimus.quic.QuicClient
Sets what learns of this endpoint's connections as they open, complete their handshakes and close, with their statistics; null for nothing.
observe(QuicConnection.Observer) - Method in class io.github.mahmoudimus.quic.QuicServer
Sets what learns of this endpoint's connections as they open, complete their handshakes and close, with their statistics; null for nothing.
OBSERVED_WEBSOCKET_FRAMES - Enum constant in enum class org.microproxy.HttpFiltersBuilder.Body
WebSocket frames, only watched (HttpFilters.webSocketFrameReceived(WebSocketFrame, boolean)), such as an HttpLogger logging frames; the upgrade is left alone.
observer(ScriptCallObserver) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
Shows every call into the script to observer: when it starts, and its steps, bytes of values created, time and error when it ends (see ScriptCallObserver).
of(boolean, int, int, byte[]) - Static method in class org.microproxy.http.WebSocketFrame
A frame with the given fields and an unmasked payload.
of(byte...) - Static method in class io.github.mahmoudimus.quic.ConnectionId
A connection ID with a copy of some bytes.
of(byte[]) - Static method in class io.github.mahmoudimus.quic.StatelessResetToken
A token with a copy of some bytes.
of(byte[]) - Static method in class io.github.mahmoudimus.zstd.ZstdDictionary
Parses data: a formatted dictionary if it starts with the dictionary magic, else raw content.
of(byte[], int, int) - Static method in class io.github.mahmoudimus.quic.ConnectionId
A connection ID with a copy of part of an array.
of(int) - Static method in enum class org.microproxy.contentviews.ProtoSchema.Type
The type with number in FieldDescriptorProto.Type.
of(int, int, List<DnsMessage.Question>, List<DnsMessage.ResourceRecord>, List<DnsMessage.ResourceRecord>, List<DnsMessage.ResourceRecord>) - Static method in class org.microproxy.dns.DnsMessage
A message made of its parts.
of(long, int, boolean) - Static method in class io.github.mahmoudimus.quic.connection.SentPacket
A packet without frames to track, for tests and ACK-only packets.
of(long, long, String) - Static method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
A transport CONNECTION_CLOSE frame with a text reason.
of(long, Frame.EcnCounts, long...) - Static method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
An ACK frame for a set of packet numbers, in any order and with duplicates: they are sorted and merged into ranges.
of(long, String) - Static method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
An application CONNECTION_CLOSE frame with a text reason.
of(CipherSuite, byte[]) - Static method in class io.github.mahmoudimus.quic.crypto.HeaderKey
A key from its raw bytes.
of(CipherSuite, byte[], byte[]) - Static method in class io.github.mahmoudimus.quic.crypto.PacketKey
A key from its raw parts.
of(Connection) - Static method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
The statistics of a sans-I/O connection that the caller drives itself, and which no other thread uses meanwhile; QuicConnection.Stats.droppedDatagrams() is 0.
of(ConnectionError.Kind) - Static method in record class io.github.mahmoudimus.quic.connection.ConnectionError
An error of a kind that has no code.
of(Side, Dir, long) - Static method in record class io.github.mahmoudimus.quic.connection.StreamId
The stream ID of a stream type and index.
of(EncryptionLevel) - Static method in enum class io.github.mahmoudimus.quic.connection.SpaceId
The space of an encryption level.
of(String) - Static method in record class org.microproxy.contentviews.ContentView.Metadata
Metadata with only a content type.
of(String) - Static method in record class org.microproxy.dns.DnsMessage.Address
An address from its literal, never looked up.
of(String) - Static method in class org.microproxy.extras.AccessLogWriter
Opens target: - for standard output, else a file path.
of(String) - Static method in class org.microproxy.extras.StickyCookie
Sticky cookies for the requests the expression matches, as --stickycookie takes it.
of(String) - Static method in enum class org.microproxy.otel.Telemetry.Protocol
The protocol named name.
of(String) - Static method in enum class org.microproxy.ResponseFlag
The flag with the short code or long name name, ignoring case, or with this enum's constant name (UPSTREAM_CONNECTION_FAILURE).
of(String) - Static method in record class org.microproxy.TlsServerIdentity
An identity whose server name and verification host are both serverName.
of(String...) - Static method in class org.microproxy.extras.BlockList
Block rules from specs.
of(String...) - Static method in class org.microproxy.extras.MapLocal
Map local rules from specs.
of(String...) - Static method in class org.microproxy.extras.MapRemote
Map remote rules from specs, with default settings.
of(String...) - Static method in class org.microproxy.extras.ModifyBody
Body rules from specs.
of(String...) - Static method in class org.microproxy.extras.ModifyHeaders
Header rules from specs.
of(String, int, long, DnsMessage.Rdata) - Static method in record class org.microproxy.dns.DnsMessage.ResourceRecord
A record of class IN with typed data.
of(String, String) - Static method in interface org.microproxy.otel.Sampler
The sampler OTEL_TRACES_SAMPLER and OTEL_TRACES_SAMPLER_ARG name: always_on, always_off, traceidratio, parentbased_always_on (the default), parentbased_always_off or parentbased_traceidratio; the ratio is the argument, 1 when there is none.
of(String, String) - Static method in record class org.microproxy.TlsServerIdentity
An identity with the given server name and verification host.
of(Throwable) - Static method in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
Classifies a failed handshake by its exception's cause chain.
of(ByteBuffer) - Static method in class io.github.mahmoudimus.http3.Http3FrameReader
A reader over the remaining bytes of a buffer, which it consumes.
of(PrivateKey, X509Certificate...) - Static method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
A certified key from a chain given as varargs.
of(List<ModifyHeaders.Rule>) - Static method in class org.microproxy.extras.ModifyHeaders
Header rules.
of(FlowFilter, String, String) - Static method in class org.microproxy.extras.ModifyBody.Rule
A rule that replaces regex with the literal replacement.
of(FlowFilter, String, String) - Static method in class org.microproxy.extras.ModifyHeaders.Rule
A rule that sets name to value, or removes it when value is empty.
of(HttpFiltersSource...) - Static method in class org.microproxy.HttpFiltersChain
Chains sources, flattening nested chains.
OFF - Enum constant in enum class org.microproxy.otel.Telemetry.RequestIdMode
Leave the header alone; %UNIQUE_ID% stays a random UUID of its own.
OFF - Enum constant in enum class org.microproxy.ProxyProtocolMode
No PROXY header is read: the connection's first bytes are the client's.
offersAlpn(String) - Method in record class org.microproxy.ClientHello
Whether the client offered protocol through ALPN.
offline(boolean) - Method in class org.microproxy.cache.HttpCache.Builder
Answer only from the cache, never contacting servers (default false).
offset() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
Returns the value of the offset record component.
offset() - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
The offset the next write starts at.
offset() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
Returns the value of the offset record component.
offset() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Returns the value of the offset record component.
OK - Static variable in record class org.microproxy.http.HttpResponseStatus
 
onAck(long, long, long, boolean, RttEstimator) - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
onAck(long, long, long, boolean, RttEstimator) - Method in interface io.github.mahmoudimus.quic.congestion.Controller
A packet's delivery was confirmed.
onAck(long, long, long, boolean, RttEstimator) - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
onAck(long, long, long, boolean, RttEstimator) - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
onAcked(long) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Records an acknowledged application data packet; acknowledging the ACK_FREQUENCY frame makes its delay the peer's.
onAcked(SpaceId, long, int) - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Records an acknowledged packet.
onAckReceived(long, SpaceId, Frame.Ack, Recovery.Listener) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Processes an ACK frame (RFC 9002 section 6 and appendix A.7): acknowledges packets, takes an RTT sample, detects loss, validates ECN counts and rearms the loss detection timer.
onAcksSent(SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records that an ACK frame was sent in a space.
onAllProtocols(Consumer<ProtocolPolicy.Builder>) - Method in interface org.microproxy.HttpProxyServerBootstrap
onAppLimited(long) - Method in class io.github.mahmoudimus.quic.connection.DeliveryRate
Records that sending is application limited: samples from packets sent until the bytes now in flight are delivered are marked application limited.
onCallEnd(Object, String, String, FlowContext, long, long, long, String, Throwable) - Method in interface org.microproxy.ScriptCallObserver
A call has ended.
onCallStart(String, String, FlowContext) - Method in interface org.microproxy.ScriptCallObserver
A call is starting.
onCidTimeout() - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
Handles the expiry of Timer.PUSH_NEW_CID: advances Retire Prior To past the expired batch, unless the peer has not yet retired the IDs the previous value asked for (RFC 9000 section 5.1.2).
onCongestionEvent(long, long, boolean, boolean, long) - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
onCongestionEvent(long, long, boolean, boolean, long) - Method in interface io.github.mahmoudimus.quic.congestion.Controller
Packets were deemed lost, or marked with ECN congestion experienced.
onCongestionEvent(long, long, boolean, boolean, long) - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
onCongestionEvent(long, long, boolean, boolean, long) - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
onConnectionClosed() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Marks the connection closed: writes are refused from now on.
onDatagramReceived(long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records a received datagram, for the anti-amplification limit.
onDatagramSent(long, long, long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records a sent datagram, for the congestion controller and the anti-amplification limit.
onDataReceived(int, int) - Method in class io.github.mahmoudimus.http2.FlowController
Accounts for a received flow-controlled frame (DATA: Frame.Data.flowControlledLength()).
onDataSent(int, int) - Method in class io.github.mahmoudimus.http2.FlowController
Debits the send windows for a flow-controlled frame being sent.
onDecoderStream(byte[]) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Processes bytes from the peer's QPACK decoder stream; see QpackEncoder.onDecoderStream(byte[], int, int).
onDecoderStream(byte[], int, int) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Processes bytes from the peer's QPACK decoder stream (§4.4), in any pieces: an instruction split between calls is completed by the next.
ONE_RTT - Enum constant in enum class io.github.mahmoudimus.quic.EncryptionLevel
Keys from the TLS application traffic secrets.
ONE_RTT - Enum constant in enum class io.github.mahmoudimus.quic.packet.PacketType
1-RTT (short header).
onEcnReceived(int) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Records an ECN codepoint on a received packet (RFC 9000 section 13.4.1).
onEncoderStream(byte[]) - Method in class io.github.mahmoudimus.http3.QpackDecoder
Processes bytes from the peer's QPACK encoder stream; see QpackDecoder.onEncoderStream(byte[], int, int).
onEncoderStream(byte[], int, int) - Method in class io.github.mahmoudimus.http3.QpackDecoder
Processes bytes from the peer's QPACK encoder stream (§4.3), in any pieces: an instruction split between calls is completed by the next.
onEndAcks(long, long, boolean, long) - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
onEndAcks(long, long, boolean, long) - Method in interface io.github.mahmoudimus.quic.congestion.Controller
A batch of acknowledgements, all with the same now, is complete.
onEndOfStream() - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Reports the clean end of the stream.
onFailure(Function<ProxyFailure, HttpResponse>) - Method in class org.microproxy.HttpFiltersBuilder
The proxy's own answer when the request fails (proxyToServerFailure): return a response to send instead of the default, or null.
onFrame(long) - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Checks the next frame by type alone.
onFrame(Http3Frame) - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Checks the next frame, including the identifiers in GOAWAY, MAX_PUSH_ID and CANCEL_PUSH.
onHttp1(Consumer<Http1PolicyBuilder>) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets fields of the ProtocolPolicy of HTTP/1.x clients, which win over those set for every protocol (HttpProxyServerBootstrap.onAllProtocols(java.util.function.Consumer<org.microproxy.ProtocolPolicy.Builder>)) and over HTTP/1's defaults.
onHttp2(Consumer<ProtocolPolicy.Builder>) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets fields of the ProtocolPolicy of HTTP/2 clients (h2 and h2c), which win over those set for every protocol (HttpProxyServerBootstrap.onAllProtocols(java.util.function.Consumer<org.microproxy.ProtocolPolicy.Builder>)).
onHttp3(Consumer<ProtocolPolicy.Builder>) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets fields of the ProtocolPolicy of HTTP/3 clients (the HTTP/3 listener, transparent QUIC, QUIC inside CONNECT-UDP flows), which win over those set for every protocol (HttpProxyServerBootstrap.onAllProtocols(java.util.function.Consumer<org.microproxy.ProtocolPolicy.Builder>)).
onLocalInitialWindowSize(int) - Method in class io.github.mahmoudimus.http2.FlowController
Applies this endpoint's new SETTINGS_INITIAL_WINDOW_SIZE, once acknowledged, to every receive window.
onLossDetectionTimeout(long, Recovery.Listener) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Handles the expiry of Timer.LOSS_DETECTION: time-threshold loss detection if a loss time is set, otherwise a probe timeout, which asks for one or two probe packets (see PacketSpace.lossProbes()) and doubles the next timeout.
only(BiPredicate<HttpRequest, FlowContext>) - Method in class org.microproxy.extras.HttpLogger.Builder
Logs only the exchanges whose request (as the client sent it) matches.
onMaxAckDelayTimeout() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Handles the expiry of the Timer.MAX_ACK_DELAY timer.
onMaxAckDelayTimeout() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Handles the expiry of Timer.MAX_ACK_DELAY: an ACK is now due.
onMtuUpdate(int) - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
onMtuUpdate(int) - Method in interface io.github.mahmoudimus.quic.congestion.Controller
The path's MTU changed.
onMtuUpdate(int) - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
onMtuUpdate(int) - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
onNewConnectionId(Frame.NewConnectionId, Retransmits) - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
Processes a NEW_CONNECTION_ID frame as the connection does: stores the ID and queues RETIRE_CONNECTION_ID frames for the IDs it retires.
onNonProbeLost(long, int) - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Records a lost packet that was not a probe.
onPacketAcked(long, SentPacket) - Method in class io.github.mahmoudimus.quic.connection.DeliveryRate
onPacketAcked(SpaceId, long, SentPacket) - Method in interface io.github.mahmoudimus.quic.connection.Recovery.Listener
A packet was acknowledged.
onPacketLost(SpaceId, long, SentPacket) - Method in interface io.github.mahmoudimus.quic.connection.Recovery.Listener
A packet was deemed lost.
onPacketReceived(long, long, boolean) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Records the receipt of an authenticated packet: duplicate detection, ACK bookkeeping and the highest packet number.
onPacketReceived(long, SpaceId, long, boolean) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records an authenticated packet: duplicate detection, ACK bookkeeping, and the Timer.MAX_ACK_DELAY timer in the application data space.
onPacketSent(long, SentPacket, long) - Method in class io.github.mahmoudimus.quic.connection.DeliveryRate
Stamps a packet about to go in flight.
onPacketSent(long, SpaceId, long, SentPacket) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records a sent packet: in-flight counts, the time of the last ack-eliciting packet, pacing, and the loss detection timer.
onPeerInitialWindowSize(int) - Method in class io.github.mahmoudimus.http2.FlowController
Applies a new SETTINGS_INITIAL_WINDOW_SIZE from the peer to every stream's send window.
onPeerMaxUdpPayloadSizeReceived(int) - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Applies the peer's max_udp_payload_size, which caps the MTU and the search.
onProbeLost() - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
Records that the in-flight probe was lost.
onRateSample(long, RateSample) - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
onRateSample(long, RateSample) - Method in interface io.github.mahmoudimus.quic.congestion.Controller
The delivery rate sample of a batch of acknowledgements, given after their Controller.onAck(long, long, long, boolean, io.github.mahmoudimus.quic.congestion.RttEstimator) calls and before Controller.onEndAcks(long, long, boolean, long), when the batch acknowledged packets in flight. quinn has no such call.
onReject(ConcurrencyLimiter.RejectListener) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Called for every request over the limit (also in shadow mode), on its connection's thread.
onRequest(Function<HttpRequest, HttpResponse>) - Method in class org.microproxy.HttpFiltersBuilder
The request head as the client sent it (clientToProxyRequest); a whole FullHttpRequest when buffered (HttpFiltersBuilder.bufferRequests(int)).
onRequestBody(Consumer<HttpContent>) - Method in class org.microproxy.HttpFiltersBuilder
Each piece of a streamed request body, ending with a LastHttpContent.
onResponse(UnaryOperator<HttpResponse>) - Method in class org.microproxy.HttpFiltersBuilder
The response head from the server (serverToProxyResponse); a whole FullHttpResponse when buffered (HttpFiltersBuilder.bufferResponses(int)).
onResponseBody(UnaryOperator<HttpContent>) - Method in class org.microproxy.HttpFiltersBuilder
Each piece of a streamed response body: return it, a replacement, or null to abort.
onRetireConnectionId(long, ConnectionId, long) - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
Processes a RETIRE_CONNECTION_ID frame.
onSent(long, long, long) - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
onSent(long, long, long) - Method in interface io.github.mahmoudimus.quic.congestion.Controller
One or more packets were just sent.
onSpuriousCongestionEvent() - Method in interface io.github.mahmoudimus.quic.congestion.Controller
Packets deemed lost were all acknowledged after all: the last congestion event was spurious.
onSpuriousCongestionEvent() - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
onStream(long) - Method in class io.github.mahmoudimus.http3.Http3StreamValidator.UnidirectionalStreams
Checks a new stream of the given type.
onStreamClosed(long) - Method in class io.github.mahmoudimus.http3.Http3StreamValidator.UnidirectionalStreams
Reports that a stream of this type ended or was reset.
onTransmit(int) - Method in class io.github.mahmoudimus.quic.connection.Pacer
Records that a packet was sent.
onWebSocketFrame(BiFunction<WebSocketFrame, Boolean, WebSocketFrame>) - Method in class org.microproxy.HttpFiltersBuilder
Each WebSocket frame, with whether it came from the client: return it, a replacement, or null to drop it (see HttpFilters.filterWebSocketFrame(org.microproxy.http.WebSocketFrame, boolean)).
onWebSocketMessage(BiFunction<WebSocketMessage, Boolean, WebSocketMessage>) - Method in class org.microproxy.HttpFiltersBuilder
Each whole WebSocket message, joined from its frames (and inflated), with whether it came from the client: return it, a replacement, or null to drop it (see HttpFilters.filterWebSocketMessage(org.microproxy.http.WebSocketMessage, boolean)).
onWindowUpdateReceived(int, int) - Method in class io.github.mahmoudimus.http2.FlowController
Credits a send window for a WINDOW_UPDATE received.
onWindowUpdateSent(int, int) - Method in class io.github.mahmoudimus.http2.FlowController
Credits a receive window for a WINDOW_UPDATE this endpoint sent (stream 0: the connection).
Opaque(byte[]) - Constructor for record class org.microproxy.dns.DnsMessage.Opaque
Checks the bytes.
opaqueData() - Method in record class io.github.mahmoudimus.http2.Frame.Ping
Returns the value of the opaqueData record component.
opaqueData() - Method in record class org.microproxy.frames.Http2Frame.Ping
Returns the value of the opaqueData record component.
opcode() - Method in class org.microproxy.dns.DnsMessage
Returns the opcode: 0 for a standard query.
opcode() - Method in class org.microproxy.http.WebSocketFrame
Returns the frame opcode.
opcode() - Method in enum class org.microproxy.http.WebSocketMessage.Type
The opcode of the first frame of a message of this type.
OPCODE_BINARY - Static variable in class org.microproxy.http.WebSocketFrame
The opcode for a binary message.
OPCODE_CLOSE - Static variable in class org.microproxy.http.WebSocketFrame
The opcode for closing the WebSocket connection.
OPCODE_CONTINUATION - Static variable in class org.microproxy.http.WebSocketFrame
The opcode for a continuation of a fragmented message.
OPCODE_PING - Static variable in class org.microproxy.http.WebSocketFrame
The opcode for a PING control frame.
OPCODE_PONG - Static variable in class org.microproxy.http.WebSocketFrame
The opcode for a PONG control frame.
OPCODE_TEXT - Static variable in class org.microproxy.http.WebSocketFrame
The opcode for a text message.
open(long, byte[], int, int, int) - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
Opens a payload held in an array; see PacketKey.open(long, ByteBuffer, int, int, int).
open(long, ByteBuffer, int, int, int) - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
Opens a payload in place: authenticates [headerStart, payloadStart) and the ciphertext with its tag [payloadStart, end), and writes the plaintext over the ciphertext.
open(Dir) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Opens a local stream.
open(Path) - Static method in class org.microproxy.extras.AccessLogWriter
Appends lines to file, creating it if needed.
open(Path) - Static method in class org.microproxy.warc.WarcReader
Opens a WARC file.
openBidirectionalStream() - Method in class io.github.mahmoudimus.quic.QuicConnection
Opens a bidirectional stream, waiting while the peer's stream limit is reached.
openConnections() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
The number of connections.
opened(QuicConnection) - Method in interface io.github.mahmoudimus.quic.QuicConnection.Observer
A connection started: a client's, or one a server is accepting (before its handshake).
Opened(Dir) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamEvent.Opened
Creates an instance of a Opened record class.
openStream(Dir) - Method in class io.github.mahmoudimus.quic.connection.Connection
Opens a stream.
openUnidirectionalStream() - Method in class io.github.mahmoudimus.quic.QuicConnection
Opens a unidirectional (send-only) stream, waiting while the peer's stream limit is reached.
opposite() - Method in enum class io.github.mahmoudimus.quic.connection.Side
The other side.
ops() - Static method in class org.microproxy.simd.Simd
Returns the implementation in use.
OPTIONAL - Enum constant in enum class org.microproxy.ProxyProtocolMode
A connection may start with a PROXY header: one that starts with a v1 ("PROXY ") or v2 signature has it read, and any other is served as if PROXY protocol were off, its first bytes left as they came.
OPTIONS - Static variable in class org.microproxy.http.HttpMethod
The OPTIONS request method.
or(AccessLogFilter) - Method in interface org.microproxy.extras.AccessLogFilter
This filter or other.
orElse(ProtocolPolicy) - Method in class org.microproxy.ProtocolPolicy
This policy with the fields it leaves unset taken from fallback.
org.microproxy - package org.microproxy
 
org.microproxy.cache - package org.microproxy.cache
 
org.microproxy.contentviews - package org.microproxy.contentviews
 
org.microproxy.dns - package org.microproxy.dns
 
org.microproxy.extras - package org.microproxy.extras
 
org.microproxy.frames - package org.microproxy.frames
 
org.microproxy.http - package org.microproxy.http
 
org.microproxy.otel - package org.microproxy.otel
OpenTelemetry for MicroProxy, with no dependencies but the JDK: W3C Trace Context, B3 and Jaeger propagation (Propagators), sampling (Sampler), a SERVER span per exchange and a CLIENT span per attempt to reach the server, INTERNAL spans for tunnels and flows, and OTLP/HTTP export of traces, metrics (the proxy's StatsRegistry) and access logs, as protobuf or JSON (Telemetry).
org.microproxy.quic - package org.microproxy.quic
 
org.microproxy.simd - package org.microproxy.simd
 
org.microproxy.starlark - package org.microproxy.starlark
 
org.microproxy.starlark.stdlib - package org.microproxy.starlark.stdlib
 
org.microproxy.stats - package org.microproxy.stats
 
org.microproxy.tcp - package org.microproxy.tcp
 
org.microproxy.tls - package org.microproxy.tls
 
org.microproxy.udp - package org.microproxy.udp
 
org.microproxy.warc - package org.microproxy.warc
 
ORIGIN - Static variable in class io.github.mahmoudimus.http2.FrameType
The extension frame type by which a server names the origins it serves on a connection (RFC 8336).
originalDestinationConnectionId() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the originalDestinationConnectionId record component.
originalDestinationConnectionId(ConnectionId) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets original_destination_connection_id.
originalDestinationId() - Method in record class io.github.mahmoudimus.quic.token.IncomingToken
Returns the value of the originalDestinationId record component.
originalDestinationId() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
Returns the value of the originalDestinationId record component.
originalRequest - Variable in class org.microproxy.HttpFiltersAdapter
The request head received from the client.
OriginFrame - Class in io.github.mahmoudimus.http2
The ORIGIN frame (RFC 8336): a server names the origins it is authoritative for on the connection, such as https://b.example.com or https://b.example.com:8443, so a client may send requests for them there without consulting DNS.
origins(Frame.Unknown) - Static method in class io.github.mahmoudimus.http2.OriginFrame
The origins an ORIGIN frame names, in the order it names them.
OtelLauncherExtension - Class in org.microproxy.otel
Adds --otel and its options to the command line when this module is on the class path.
OtelLauncherExtension() - Constructor for class org.microproxy.otel.OtelLauncherExtension
Creates the extension, reading the process's environment.
OtelLauncherExtension(Map<String, String>) - Constructor for class org.microproxy.otel.OtelLauncherExtension
Creates the extension with another environment, for tests.
other() - Method in record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Returns the value of the other record component.
OTHER - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
Anything else: no common protocol version or cipher suite, the connection closed, ...
OTHER - Enum constant in enum class org.microproxy.stats.StatsRegistry.Overflow
Its stats go to the cluster named other (the default).
OTHER_CLUSTER - Static variable in class org.microproxy.stats.StatsRegistry
The name of the cluster that clusters over StatsRegistry.Builder.maxClusters share.
outcome(Set<ResponseFlag>, ProxyFailure, String) - Method in class org.microproxy.FlowRecord.Builder
Sets the outcome: flags, failure and details.
outputType() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the value of the outputType record component.
OVERLOAD_MANAGER - Enum constant in enum class org.microproxy.ResponseFlag
OM: the request was refused under overload.
OWN - Enum constant in enum class org.microproxy.otel.Telemetry.WhenStripped
The proxy's own span context, in the configured propagators' headers, without the client's tracestate.

P

Pacer - Class in io.github.mahmoudimus.quic.connection
A token-bucket pacer (RFC 9002 section 7.7).
Pacer(long, long, int, long, long) - Constructor for class io.github.mahmoudimus.quic.connection.Pacer
A pacer with a full bucket.
PACING - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When pacing allows the next packet.
pacingDelay(long, long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
When pacing allows a packet; sets or stops Timer.PACING.
pacingRate() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
The pacing rate: the bandwidth estimate times the pacing gain, or in STARTUP never less than the initial window per minimum RTT.
pacingRate() - Method in interface io.github.mahmoudimus.quic.congestion.Controller
The rate the controller wants packets paced at.
pacingRate() - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Returns the value of the pacingRate record component.
packable() - Method in enum class org.microproxy.contentviews.ProtoSchema.Type
Returns whether repeated fields of this type can be packed.
packed() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns the value of the packed record component.
Packed(List<ProtoValue>) - Constructor for record class org.microproxy.contentviews.ProtoValue.Packed
Wraps elements.
packet() - Method in record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Returns the value of the packet record component.
Packet - Record Class in io.github.mahmoudimus.quic.packet
A packet with protection removed: its full header and its plaintext payload of frames.
Packet(PacketHeader.Numbered, ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.packet.Packet
A packet.
PacketBuilder - Class in io.github.mahmoudimus.quic.packet
Builds a datagram of one or more coalesced packets: write a header, fill the frame space, then pad and protect.
PacketBuilder(ByteBuffer, int) - Constructor for class io.github.mahmoudimus.quic.packet.PacketBuilder
A builder that writes from the buffer's position.
PacketDecodeException - Exception Class in io.github.mahmoudimus.quic.packet
A packet header that cannot be decoded.
PacketDecodeException(String) - Constructor for exception class io.github.mahmoudimus.quic.packet.PacketDecodeException
A decode failure.
PacketHeader - Interface in io.github.mahmoudimus.quic.packet
A decoded QUIC packet header (RFC 9000 section 17), or one to encode.
PacketHeader.Handshake - Record Class in io.github.mahmoudimus.quic.packet
A Handshake packet header (RFC 9000 section 17.2.4).
PacketHeader.Initial - Record Class in io.github.mahmoudimus.quic.packet
An Initial packet header (RFC 9000 section 17.2.2).
PacketHeader.Numbered - Interface in io.github.mahmoudimus.quic.packet
A header of a protected packet, with a packet number.
PacketHeader.Retry - Record Class in io.github.mahmoudimus.quic.packet
A Retry packet (RFC 9000 section 17.2.5): the whole packet, since it has no payload beyond the token and the integrity tag.
PacketHeader.Short - Record Class in io.github.mahmoudimus.quic.packet
A short (1-RTT) packet header (RFC 9000 section 17.3.1).
PacketHeader.VersionNegotiation - Record Class in io.github.mahmoudimus.quic.packet
A Version Negotiation packet (RFC 9000 section 17.2.1): the whole packet.
PacketHeader.ZeroRtt - Record Class in io.github.mahmoudimus.quic.packet
A 0-RTT packet header (RFC 9000 section 17.2.3).
PacketKey - Class in io.github.mahmoudimus.quic.crypto
The AEAD key and IV that protect packet payloads in one direction (RFC 9001 section 5.3).
packetNumber() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns the value of the packetNumber record component.
packetNumber() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns the value of the packetNumber record component.
packetNumber() - Method in interface io.github.mahmoudimus.quic.packet.PacketHeader.Numbered
The full packet number.
packetNumber() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns the value of the packetNumber record component.
packetNumber() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns the value of the packetNumber record component.
PacketNumber - Class in io.github.mahmoudimus.quic.packet
Packet number truncation and recovery (RFC 9000 section 17.1 and appendix A).
PacketNumberFilter - Class in io.github.mahmoudimus.quic.connection
Mitigates optimistic ACK attacks (RFC 9000 section 21.4) by occasionally skipping a packet number in the application data space: an ACK of a skipped number proves the peer acknowledges packets it never received.
PacketNumberFilter(RandomGenerator) - Constructor for class io.github.mahmoudimus.quic.connection.PacketNumberFilter
A filter whose first skip is somewhere in packet numbers 0 to 63.
packetNumberLength() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns the value of the packetNumberLength record component.
packetNumberLength() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns the value of the packetNumberLength record component.
packetNumberLength() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns the value of the packetNumberLength record component.
packetNumberLength() - Method in interface io.github.mahmoudimus.quic.packet.PacketHeader.Numbered
The number of packet number bytes on the wire.
packetNumberLength() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns the value of the packetNumberLength record component.
packetNumberLength() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns the value of the packetNumberLength record component.
packetNumberOffset() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns the value of the packetNumberOffset record component.
packetNumberOffset() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The index of the (protected) packet number.
PacketProtection - Class in io.github.mahmoudimus.quic.packet
Applies packet protection (RFC 9001 section 5) to an encoded packet in place: fills in the Length field, seals the payload and then masks the header.
packetReceived(long, long, boolean, Dedup) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Handles a received packet's ACK requirements; call PendingAcks.insertOne(long, long) for it too.
PacketSpace - Class in io.github.mahmoudimus.quic.connection
One packet number space (RFC 9000 section 12.3, RFC 9002 appendix A): its keys, the packets received and to acknowledge, the next packet number, the packets sent and not yet acknowledged or lost, the frames waiting to be sent, the CRYPTO stream, and the loss detection state that Recovery keeps per space.
PacketSpace(SpaceId, long) - Constructor for class io.github.mahmoudimus.quic.connection.PacketSpace
An empty space.
PacketSpace.Sendable - Record Class in io.github.mahmoudimus.quic.connection
What a space has to send.
packetThreshold() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the packetThreshold record component.
packetThreshold(int) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the packet reordering threshold.
packetThreshold(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The packet reordering threshold of loss detection (RFC 9002 section 6.1.1).
PacketType - Enum Class in io.github.mahmoudimus.quic.packet
The QUIC packet types (RFC 9000 section 17).
packVarints(List<? extends Number>) - Static method in class org.microproxy.contentviews.Protobuf
Packs integers as varints, as a packed repeated integer field holds them (negative numbers take ten bytes, as for int32 and int64).
padding() - Method in record class io.github.mahmoudimus.http2.Frame.Data
Returns the value of the padding record component.
padding() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns the value of the padding record component.
padding() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns the value of the padding record component.
Padding(int) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.Padding
Padding.
PADDING - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
PADDING (0x00).
parameter(String) - Method in record class org.microproxy.contentviews.ContentView.Metadata
A parameter of ContentView.Metadata.contentType, such as boundary or charset.
parentBased(Sampler) - Static method in interface org.microproxy.otel.Sampler
A sampler that follows the request's sampled flag when it came with a trace context, and asks root otherwise.
parse(byte[]) - Static method in class org.microproxy.contentviews.ProtoSchema
Parses a serialized FileDescriptorSet.
parse(String) - Static method in enum class org.microproxy.DrainStrategy
The strategy named name, in any case.
parse(String) - Static method in interface org.microproxy.extras.AccessLogFilter
Parses the compact syntax:
parse(String) - Static method in record class org.microproxy.extras.BlockList.Rule
Parses a spec of the form |flow-filter|status.
parse(String) - Static method in class org.microproxy.extras.FlowFilter
Parses a filter expression.
parse(String) - Static method in enum class org.microproxy.extras.LogFormat
A preset by name (clf, envoy, ..., ignoring case), or else an Envoy format string: what the command line's --access-log-format takes.
parse(String) - Static method in record class org.microproxy.extras.MapLocal.Rule
Parses a spec of the form [|flow-filter]|url-regex|file-or-directory.
parse(String) - Static method in record class org.microproxy.extras.MapRemote.Rule
Parses a spec of the form [|flow-filter]|url-regex|replacement.
parse(String) - Static method in class org.microproxy.extras.ModifyBody.Rule
Parses a spec of the form [|flow-filter]|regex|[@]replacement.
parse(String) - Static method in class org.microproxy.extras.ModifyHeaders.Rule
Parses a spec of the form [|flow-filter]|header-name|[@]header-value.
parse(String) - Static method in record class org.microproxy.extras.ServerReplay.Extra
Parses forward, kill or a status code.
parse(String) - Static method in enum class org.microproxy.GeneratedResponses
The value a configuration names: replaceable, in_place or skip (any case, - for _).
parse(String) - Static method in enum class org.microproxy.Http3Options.QuicCongestionControl
The controller with a name, ignoring case: cubic, newreno (or new_reno) or bbr.
parse(String) - Static method in enum class org.microproxy.MitmServerHandshake
The value a configuration names: deferred or eager (any case).
parse(String) - Static method in class org.microproxy.NoProxyRules
Parses a comma-separated NO_PROXY rule list.
parse(String) - Static method in class org.microproxy.otel.Propagators
The propagators named in list, a comma-separated list as in OTEL_PROPAGATORS: tracecontext, b3, b3multi, jaeger; baggage adds none (baggage passes through untouched), and none means none at all.
parse(String) - Static method in enum class org.microproxy.ProxyProtocolDestination
The value a configuration names: local_address or server_address (any case, - for _).
parse(String) - Static method in enum class org.microproxy.ProxyProtocolMode
The mode a configuration value names: off, required or optional (any case), or a boolean as LittleProxy's allow_proxy_protocol key takes it ( true, on or 1 for ProxyProtocolMode.REQUIRED; false, off, 0, no or nothing for ProxyProtocolMode.OFF).
parse(String) - Static method in class org.microproxy.quic.QuicFraming
The defaults with the rules of spec added, as --quic-framing gives them.
parse(String) - Static method in record class org.microproxy.ReverseProxyMode
Parses an upstream server specification, [scheme://]host[:port]: the scheme defaults to https, the port to 443 for https and 80 for http; tcp needs a port.
parse(ByteBuffer, int) - Static method in class io.github.mahmoudimus.http3.Http3FrameReader
Parses one whole frame at the buffer's position, for callers that collect a stream's bytes in a buffer.
parse(ByteBuffer, int) - Static method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Parses the packet at the buffer's position, requiring the Fixed Bit.
parse(ByteBuffer, int, boolean) - Static method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Parses the packet at the buffer's position.
parseHar(String) - Static method in record class org.microproxy.extras.RecordedExchange
Parses a HAR document.
parseMode(String) - Static method in record class org.microproxy.ReverseProxyMode
Parses a mitmproxy-style mode: reverse:<spec> (see ReverseProxyMode.parse(java.lang.String)); regular, transparent and socks5 (see HttpProxyServerBootstrap.withSocksServer(boolean)), the modes without a fixed upstream, give null.
parseOption(String, Deque<String>) - Method in interface org.microproxy.LauncherExtension
Consumes option if it belongs to this extension, taking any values from the front of args.
parseOption(String, Deque<String>) - Method in class org.microproxy.otel.OtelLauncherExtension
 
parseOption(String, Deque<String>) - Method in class org.microproxy.starlark.StarlarkLauncherExtension
 
parseTraceparent(String) - Static method in class org.microproxy.otel.Propagators
Parses a traceparent value as W3C Trace Context says: version 00 exactly (00-<32 hex>-<16 hex>-<2 hex>, lower-case), or a later version that starts the same way and continues only after a -; never version ff, an all-zero trace id or an all-zero parent id.
parseTracestate(List<String>) - Static method in class org.microproxy.otel.Propagators
Parses the tracestate header's values (several are joined with commas, as HTTP does): up to 32 list members key=value, separated by commas with optional spaces and tabs around them, empty members ignored.
PATCH - Static variable in class org.microproxy.http.HttpMethod
The PATCH request method.
path() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the path record component.
path() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the path record component.
path() - Method in class io.github.mahmoudimus.quic.connection.Connection
The path packets are sent on.
path() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The path packets are sent on.
path() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns the value of the path record component.
path() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the gRPC request path, /<service>/<method>.
path() - Method in class org.microproxy.extras.HarRecorder
Returns the file this recorder writes.
path() - Method in record class org.microproxy.extras.MapLocal.Rule
Returns the value of the path record component.
PATH_CHALLENGE - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
PATH_CHALLENGE (0x1a).
PATH_PROBE - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When a client sends its probe of a new path again, or gives up on it.
PATH_RESPONSE - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
PATH_RESPONSE (0x1b).
PATH_VALIDATION - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When a server's validation of the peer's new path is abandoned, and the connection goes back to the previous path.
PathChallenge(long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
Creates an instance of a PathChallenge record class.
pathChallengesReceived() - Method in class io.github.mahmoudimus.quic.connection.Connection
PATH_CHALLENGE frames the peer sent, each answered with PATH_RESPONSE: the peer's path validations.
PathData - Class in io.github.mahmoudimus.quic.connection
One network path of a connection (RFC 9000 section 9): the peer's address, the local address the connection uses on it, and what is measured per path: the RTT, the congestion controller, the pacer, MTU discovery, the delivery rate, the bytes in flight, and the anti-amplification counts until the path is validated (RFC 9000 section 8).
pathGeneration() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The generation of the path the packet was sent on.
PathProbeFailed(InetSocketAddress, InetSocketAddress) - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathProbeFailed
Creates an instance of a PathProbeFailed record class.
PathResponse(long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
Creates an instance of a PathResponse record class.
PathUpdated(InetSocketAddress, InetSocketAddress) - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathUpdated
Creates an instance of a PathUpdated record class.
pathValidationFailures() - Method in class io.github.mahmoudimus.quic.connection.Connection
Path validations that failed: on a server, a client's new path that sent no PATH_RESPONSE in time (the server went back to the previous path, when it had one); on a client, a probe of a path that got no answer (ConnectionEvent.PathProbeFailed).
pathValidationFailures() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the pathValidationFailures record component.
pathValidations() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the pathValidations record component.
pattern() - Method in record class org.microproxy.extras.MapLocal.Rule
Returns the value of the pattern record component.
pattern() - Method in record class org.microproxy.extras.MapRemote.Rule
Returns the value of the pattern record component.
pattern() - Method in class org.microproxy.extras.ModifyBody.Rule
Returns the regular expression, over the body's bytes as ISO-8859-1 characters.
pattern() - Method in record class org.microproxy.stats.TagExtractor.Rule
Returns the value of the pattern record component.
payload() - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Returns the value of the payload record component.
payload() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Returns the value of the payload record component.
payload() - Method in record class io.github.mahmoudimus.quic.packet.Packet
The payload, as an independent view whose position the caller may move.
payload() - Method in class io.github.mahmoudimus.quic.token.Token
What the token says.
payload() - Method in record class org.microproxy.contentviews.Grpc.Frame
Returns the value of the payload record component.
payload() - Method in record class org.microproxy.frames.Http2Frame.Unknown
Returns the value of the payload record component.
payload() - Method in record class org.microproxy.frames.Http3Frame.Unknown
Returns the value of the payload record component.
payload() - Method in class org.microproxy.http.WebSocketFrame
The unmasked application payload, or null if WebSocketFrame.isTruncated().
payload() - Method in record class org.microproxy.http.WebSocketMessage
Returns a copy of the application data.
payload(byte[]) - Method in interface org.microproxy.quic.MessageFramer
What the hooks see of a whole message: the message without its length prefix or delimiter.
payloadAsText() - Method in class org.microproxy.http.WebSocketFrame
The payload decoded as UTF-8 (meaningful for text frames), or null if truncated.
payloadLength() - Method in class org.microproxy.http.WebSocketFrame
Returns the declared payload length, even when the payload was not buffered.
payloadOffset() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns the value of the payloadOffset record component.
pbkdf2Hmac(String, Object, Object, StarlarkInt, Object, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.HashlibModule
Derives a key using PBKDF2 with the requested HMAC digest.
peek(PacketSpace) - Method in class io.github.mahmoudimus.quic.connection.PacketNumberFilter
peekMin() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The first range.
peekNext() - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
The ID RemoteCidQueue.next() would switch to, without switching: a probe of a new path uses it before the connection moves there (RFC 9000 section 9.5).
peekPacketNumber(SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
peerCertificates() - Method in class io.github.mahmoudimus.quic.connection.Connection
The peer's certificate chain, end-entity first.
peerCertificates() - Method in class io.github.mahmoudimus.quic.QuicConnection
The peer's certificate chain, end-entity first.
peerCertificates() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
The server's certificate chain from the full handshake the session started with.
peerCertificates() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The peer's certificate chain, end-entity first: the server's for a client, and the client's for a server that asked for one.
peerCompletedAddressValidation() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Whether the peer must have validated this endpoint's address: always for a server; for a client once a Handshake or 1-RTT packet is acknowledged, or the handshake keys are discarded while 1-RTT keys are installed.
peerDone() - Method in class io.github.mahmoudimus.quic.QuicStream
Whether the peer is done with the stream, as far as this side has received, read or not: its FIN or a RESET_STREAM arrived, or it asked this side to stop sending (STOP_SENDING); or the connection is gone.
peerMaxAckDelay() - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
The peer's max_ack_delay.
peerParams() - Method in class io.github.mahmoudimus.quic.connection.Connection
The peer's transport parameters.
peerSignatureScheme() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The signature scheme of the peer's CertificateVerify.
peerTransportParameters() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The peer's encoded QUIC transport parameters, which the connection layer decodes.
pending() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The frames waiting to be sent in this space.
pendingAcks() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The packets waiting to be acknowledged.
PendingAcks - Class in io.github.mahmoudimus.quic.connection
The packets of one space waiting to be acknowledged, and when an ACK must go out (RFC 9000 section 13.2): after more than ack_eliciting_threshold ack-eliciting packets (one, by default, so every second one is acknowledged at once), on reordering, or once max_ack_delay has passed since the first unacknowledged ack-eliciting packet.
PendingAcks() - Constructor for class io.github.mahmoudimus.quic.connection.PendingAcks
Nothing to acknowledge.
PendingReset(StreamId, long) - Constructor for record class io.github.mahmoudimus.quic.connection.Retransmits.PendingReset
Creates an instance of a PendingReset record class.
perConnection(Function<? super FlowContext, ? extends MitmManager>) - Static method in interface org.microproxy.MitmManager
A manager that lets choose pick the manager for each client connection (see MitmManager.forConnection(org.microproxy.FlowContext)), e.g. a CertificateAuthorityMitmManager per tenant with its own CA and upstream trust store.
perHostClusters() - Method in class org.microproxy.stats.StatsRegistry
Returns whether a direct connection's cluster is its server (host_port) rather than direct.
perHostClusters(boolean) - Method in class org.microproxy.stats.StatsRegistry.Builder
Whether each server a direct connection goes to is a cluster of its own, named host_port (default false: they all are direct).
permits() - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Returns the value of the permits record component.
permits() - Method in class org.microproxy.extras.ConcurrencyLimiter
Returns the permits per key unless ConcurrencyLimiter.Builder.permits(Function) says otherwise.
permits(int) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Exchanges per key that may run at once (default 16); 0 refuses every request.
permits(Function<String, Integer>) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Permits for particular keys; null means ConcurrencyLimiter.Builder.permits(int).
permitTimeout(Duration) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Reclaims (and logs) a permit held for longer than this, in case an exchange never ends; default 10 minutes, Duration.ZERO to turn the safety net off.
persistentCongestionThreshold() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the persistentCongestionThreshold record component.
persistentCongestionThreshold(int) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the persistent congestion threshold.
persistentCongestionThreshold(int) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
How many PTOs of loss make persistent congestion (RFC 9002 section 7.6).
ping() - Method in class io.github.mahmoudimus.quic.connection.Connection
Queues a PING in the highest space with keys, to elicit an acknowledgement.
Ping() - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.Ping
Creates an instance of a Ping record class.
Ping(boolean, long) - Constructor for record class io.github.mahmoudimus.http2.Frame.Ping
Creates an instance of a Ping record class.
Ping(boolean, long) - Constructor for record class org.microproxy.frames.Http2Frame.Ping
Creates an instance of a Ping record class.
PING - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
PING (0x01).
PING - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for a connection probe.
pingPending() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Whether a PING must be sent.
plusActivityTracker(ActivityTracker) - Method in interface org.microproxy.HttpProxyServerBootstrap
Adds an observer alongside the configured activity trackers.
plusFiltersSource(HttpFiltersSource) - Method in interface org.microproxy.HttpProxyServerBootstrap
Adds a filters source after those already configured; they run as a HttpFiltersChain.
plusStrippedRequestHeaders(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Adds to the headers removed from requests sent upstream (see HttpProxyServerBootstrap.withStrippedRequestHeaders(java.lang.String...)).
policy(DnssecHostResolver.Policy) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
Sets the policy for accepting insecure DNS responses.
poll() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
The next stream event.
pollEndpointEvent() - Method in class io.github.mahmoudimus.quic.connection.Connection
Takes the next event for the endpoint: connection IDs to route or forget, reset tokens, and EndpointEvent.Drained once the connection is gone.
pollEvent() - Method in class io.github.mahmoudimus.quic.connection.Connection
Takes the next application event: handshake progress, stream events, received datagrams, and finally ConnectionEvent.ConnectionLost.
pollExpired(long) - Method in class io.github.mahmoudimus.quic.connection.TimerTable
Stops and returns the first expired timer, in Timer order.
pollNewTicket() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Client: takes the next ticket received in a NewSessionTicket message, to keep for a later connection.
pollTimeout() - Method in class io.github.mahmoudimus.quic.connection.Connection
When Connection.handleTimeout(long) should next be called.
pollTransmit(int) - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Chooses the next range to send, lost data first, and records it as sent.
pollTransmit(long, int) - Method in class io.github.mahmoudimus.quic.connection.Connection
Builds datagrams to send: first a PATH_CHALLENGE on the previous path or on a path the client probes, and PATH_RESPONSEs for other paths, each in a datagram of its own; then, to the current path's address, coalesced packets of each encryption level, Initial datagrams padded to 1200 bytes, within the congestion window, the pacing rate and the anti-amplification limit; then path MTU probes.
pollTransmit(long, long) - Method in class io.github.mahmoudimus.quic.connection.MtuDiscovery
The size of the next probe to send, if one is due.
PoolMetrics - Record Class in org.microproxy
A snapshot of the shared server connection pool.
PoolMetrics(int, int, int, long, long, long, long) - Constructor for record class org.microproxy.PoolMetrics
Creates an instance of a PoolMetrics record class.
popMin() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Removes and returns the first range.
port() - Method in record class org.microproxy.dns.DnsMessage.Srv
Returns the value of the port record component.
port() - Method in interface org.microproxy.quic.QuicContext
The port the connection goes to.
port() - Method in record class org.microproxy.ReverseProxyMode
Returns the value of the port record component.
port() - Method in interface org.microproxy.tcp.TcpContext
The port the tunnel goes to.
port() - Method in interface org.microproxy.udp.UdpContext
The port the flow goes to.
POST - Static variable in class org.microproxy.http.HttpMethod
The POST request method.
PRE_INITIALIZING - Enum constant in enum class org.microproxy.ServerState
Made, not started yet.
preference() - Method in record class org.microproxy.dns.DnsMessage.Mx
Returns the value of the preference record component.
preferredAddress() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the preferredAddress record component.
preferredAddress(boolean) - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
Whether to move to a server's preferred address (RFC 9000 section 9.6) once the handshake is confirmed, on by default: the client probes the address of its current path's family with the connection ID the server gave for it, and switches when the server answers.
preferredAddress(PreferredAddress) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets preferred_address.
preferredAddress(InetSocketAddress, InetSocketAddress) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
Advertises a preferred address (RFC 9000 section 9.6) in the preferred_address transport parameter, with a connection ID of its own: a client may validate it after the handshake and move there.
PreferredAddress - Record Class in io.github.mahmoudimus.quic.params
The server's preferred_address transport parameter (RFC 9000 section 18.2): an address to migrate to after the handshake, with a connection ID and reset token for it.
PreferredAddress(InetSocketAddress, InetSocketAddress, ConnectionId, StatelessResetToken) - Constructor for record class io.github.mahmoudimus.quic.params.PreferredAddress
A preferred address.
preferredIpv4() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
The IPv4 preferred address (RFC 9000 section 9.6).
preferredIpv6() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
The IPv6 preferred address (RFC 9000 section 9.6).
prefix() - Method in class org.microproxy.stats.StatsRegistry
Returns the prefix of exported names, without separator: envoy by default, as in envoy_cluster_upstream_rq_total (Prometheus) and envoy.cluster.direct... (statsd).
prefix() - Method in class org.microproxy.stats.StatsScope
Returns the prefix of this scope's names.
prefix(String) - Static method in class org.microproxy.extras.RewriteRules.Rule
A rule for URLs that start with prefix (matched literally).
prefix(String) - Method in class org.microproxy.stats.StatsRegistry.Builder
The prefix of exported names (default envoy): Prometheus names start with it and _, statsd names with it and a dot.
prefix(String) - Method in class org.microproxy.warc.WarcRecorder.Builder
File name prefix (default "microproxy").
preset(String) - Static method in class org.microproxy.ProtocolPolicy
A preset policy by its configuration name: littleproxy for ProtocolPolicy.littleProxy(), microproxy or defaults for ProtocolPolicy.defaults() (any case).
preset(ProtocolPolicy) - Method in class org.microproxy.Http1PolicyBuilder
 
preset(ProtocolPolicy) - Method in class org.microproxy.ProtocolPolicy.Builder
Sets every field that preset sets (such as ProtocolPolicy.littleProxy()), overwriting what was set before; setters called after it overwrite it in turn.
prevPath() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The path before the last migration, kept for the packets still in flight on it.
priorDelivered() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns the value of the priorDelivered record component.
priority() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns the value of the priority record component.
priority() - Method in record class org.microproxy.dns.DnsMessage.Srv
Returns the value of the priority record component.
priority(byte[], ContentView.Metadata) - Method in interface org.microproxy.contentviews.ContentView
How well this view suits data: 0 (or less) when it does not apply, more for a better fit.
priority(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
A stream's priority.
Priority(int, int, boolean, int) - Constructor for record class org.microproxy.frames.Http2Frame.Priority
Creates PRIORITY.
Priority(int, Frame.PrioritySpec) - Constructor for record class io.github.mahmoudimus.http2.Frame.Priority
Creates PRIORITY with a nonzero stream and a priority signal.
PRIORITY - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for a deprecated priority signal.
PrioritySpec(int, boolean, int) - Constructor for record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Creates a priority signal with a valid dependency and weight.
privateKey() - Method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
Returns the value of the privateKey record component.
privateKey() - Method in record class org.microproxy.KeyMaterial
Returns the value of the privateKey record component.
PROBE_BW - Enum constant in enum class io.github.mahmoudimus.quic.congestion.Bbr.Mode
Cruising: the pacing gain cycles around the bandwidth estimate.
PROBE_RTT - Enum constant in enum class io.github.mahmoudimus.quic.congestion.Bbr.Mode
Sending slows for a while to empty the queue and measure the real minimum RTT.
probePath(long, InetSocketAddress) - Method in class io.github.mahmoudimus.quic.connection.Connection
Client: starts moving the connection to a new local address (RFC 9000 section 9.1): probes the path from local to the server's address with PATH_CHALLENGE and a connection ID of the server's not used before, and switches to it when the PATH_RESPONSE arrives (ConnectionEvent.PathUpdated), or stays if none comes in three PTOs (ConnectionEvent.PathProbeFailed).
probeSent() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Records that one probe packet was sent.
probeTimeouts() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Probe timeouts so far: unlike Recovery.ptoCount(), never reset.
probeTimeouts() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the probeTimeouts record component.
prometheus(StatsRegistry) - Static method in class org.microproxy.stats.StatsFormatter
The metrics in Prometheus's text exposition format, version 0.0.4: per family (metrics with the same tag-extracted name), a # HELP line when the metric has a description, a # TYPE line, and a sample per tag set; a histogram has a cumulative _bucket sample per bound (le, the last +Inf), then _sum and _count.
prometheus(StatsRegistry, Predicate<? super Metric>) - Static method in class org.microproxy.stats.StatsFormatter
The metrics include accepts, in Prometheus's text exposition format (see StatsFormatter.prometheus(StatsRegistry)).
PROMETHEUS_CONTENT_TYPE - Static variable in class org.microproxy.stats.StatsFormatter
prometheusName() - Method in enum class org.microproxy.stats.Metric.Type
Returns the name Prometheus's # TYPE line gives this kind.
promisedStreamId() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns the value of the promisedStreamId record component.
promisedStreamId() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
Returns the value of the promisedStreamId record component.
Propagator - Interface in org.microproxy.otel
Reads a trace context from request headers and writes one onto them, in one format: W3C Trace Context (Propagators.TRACE_CONTEXT), B3 in its single-header and multi-header forms (Propagators.B3, Propagators.B3_MULTI) or Jaeger's uber-trace-id (Propagators.JAEGER).
propagators(List<Propagator>) - Method in class org.microproxy.otel.Telemetry.Builder
The propagators, as OpenTelemetry's composite propagator: they extract in order, so the last that finds a valid context in a request gives the parent, and all write the proxy's context upstream; W3C Trace Context by default.
Propagators - Class in org.microproxy.otel
The propagators, by the names OTEL_PROPAGATORS uses: tracecontext (W3C Trace Context: traceparent and tracestate), b3 (B3's single b3 header), b3multi (B3's X-B3-* headers) and jaeger ( uber-trace-id).
protect(ByteBuffer, int, int) - Method in class io.github.mahmoudimus.quic.crypto.HeaderKey
Applies header protection in place to a packet whose payload is already sealed.
protect(ByteBuffer, HeaderLayout, int, long, DirectionalKeys) - Static method in class io.github.mahmoudimus.quic.packet.PacketProtection
Protects an encoded packet in place.
ProtectedPacket - Class in io.github.mahmoudimus.quic.packet
A packet whose unprotected header fields are parsed but whose packet number and payload are still protected: quinn's PartialDecode.
protobuf() - Method in class org.microproxy.quic.QuicMessage
The payload as a protobuf message, without a schema: fields by number.
protobuf(ProtoSchema, String) - Method in class org.microproxy.quic.QuicMessage
The payload as a protobuf message of messageType, its fields named by schema.
Protobuf - Class in org.microproxy.contentviews
Decodes and encodes protobuf messages without generated code, and usually without a schema:
protocol() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the protocol record component.
protocol() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the protocol record component.
protocol() - Method in interface org.microproxy.frames.FrameContext
The frame's protocol.
protocol() - Method in interface org.microproxy.frames.Http2Frame
 
protocol() - Method in interface org.microproxy.frames.Http3Frame
 
protocol() - Method in interface org.microproxy.frames.HttpFrame
The protocol the frame belongs to.
protocol(Telemetry.Protocol) - Method in class org.microproxy.otel.Telemetry.Builder
How OTLP is sent: protobuf (the default) or JSON.
PROTOCOL_ERROR - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
A violation of the HTTP/2 protocol.
PROTOCOL_VERSION - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
The peer's protocol version is recognized but not supported (70).
PROTOCOL_VIOLATION - Static variable in exception class io.github.mahmoudimus.quic.QuicException
Any other protocol violation.
ProtocolPolicy - Class in org.microproxy
How the proxy behaves, where it can behave in more than one way, for the exchanges of clients that speak one protocol: HTTP/1.x, HTTP/2 or HTTP/3 (the protocol the client speaks to the proxy, FlowContext.getHttpVersion()).
ProtocolPolicy.Builder - Class in org.microproxy
Builds a ProtocolPolicy.
protocolVersion() - Method in class org.microproxy.http.DefaultHttpRequest
 
protocolVersion() - Method in class org.microproxy.http.DefaultHttpResponse
 
protocolVersion() - Method in interface org.microproxy.http.HttpMessage
Returns the message's protocol version.
ProtoField - Record Class in org.microproxy.contentviews
One field of a decoded protobuf message, as it appeared on the wire.
ProtoField(int, ProtoValue) - Constructor for record class org.microproxy.contentviews.ProtoField
A field without a declaration.
ProtoField(int, ProtoValue, ProtoSchema.Field) - Constructor for record class org.microproxy.contentviews.ProtoField
Checks the field number and value.
ProtoFixed - Class in org.microproxy.starlark
A fixed-width protobuf value in a script: what protobuf.decode gives for a field with wire type fixed32 or fixed64 (without a schema it could be an integer or a float), and what protobuf.fixed32(x) and protobuf.fixed64(x) make.
ProtoGroup - Class in org.microproxy.starlark
A protobuf group (proto2's deprecated wire types 3 and 4) in a script: what protobuf.decode gives for one, and what protobuf.group(fields) makes.
ProtoMessage - Record Class in org.microproxy.contentviews
A decoded protobuf message: its fields in the order they appeared on the wire.
ProtoMessage(List<ProtoField>) - Constructor for record class org.microproxy.contentviews.ProtoMessage
A message without a schema type.
ProtoMessage(List<ProtoField>, ProtoSchema.MessageType) - Constructor for record class org.microproxy.contentviews.ProtoMessage
Copies the field list.
protoSchema() - Method in class org.microproxy.starlark.StarlarkScript
Returns the protobuf schema the script decodes with, or null.
protoSchema(ProtoSchema) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
A protobuf schema for the script's protobuf and grpc modules: with it, protobuf.decode(data, type="pkg.Message") keys fields by name and protobuf.encode(fields, type="pkg.Message") takes names.
ProtoSchema - Class in org.microproxy.contentviews
Protobuf type definitions, read from a FileDescriptorSet (what protoc --descriptor_set_out=types.desc --include_imports writes), so that messages decode with field names, enum names and declared types instead of guesses, and gRPC calls decode with their method's input and output types:
ProtoSchema.EnumType - Record Class in org.microproxy.contentviews
An enum type.
ProtoSchema.Field - Record Class in org.microproxy.contentviews
A field of a message type.
ProtoSchema.MessageType - Class in org.microproxy.contentviews
A message type: its full name and fields.
ProtoSchema.Method - Record Class in org.microproxy.contentviews
An RPC method of a service.
ProtoSchema.Type - Enum Class in org.microproxy.contentviews
The types a field can be declared with, as numbered in descriptor.proto.
ProtoValue - Interface in org.microproxy.contentviews
One value of a protobuf field: what its wire type says, plus how a length-delimited value was understood.
ProtoValue.Bytes - Record Class in org.microproxy.contentviews
Length-delimited bytes (wire type 2) that are neither text nor a message, or that a schema declares as bytes.
ProtoValue.Fixed32 - Record Class in org.microproxy.contentviews
Four bytes (wire type 5): fixed32, sfixed32 or float.
ProtoValue.Fixed64 - Record Class in org.microproxy.contentviews
Eight bytes (wire type 1): fixed64, sfixed64 or double.
ProtoValue.Group - Record Class in org.microproxy.contentviews
A group (wire types 3 and 4), proto2's deprecated way of nesting a message.
ProtoValue.Message - Record Class in org.microproxy.contentviews
A nested message (wire type 2).
ProtoValue.Packed - Record Class in org.microproxy.contentviews
A packed repeated scalar field (wire type 2): several ProtoValue.Varint, ProtoValue.Fixed32 or ProtoValue.Fixed64 values in one length-delimited value.
ProtoValue.Text - Record Class in org.microproxy.contentviews
Length-delimited UTF-8 text (wire type 2): a string, or bytes that read as text.
ProtoValue.Varint - Record Class in org.microproxy.contentviews
A varint (wire type 0): int32, int64, uint32, uint64, sint32, sint64, bool or an enum.
proxy(String) - Static method in class org.microproxy.UpstreamProxyManager
Parses a proxy URL into a ChainedProxy.
PROXY - Enum constant in enum class org.microproxy.ResponseSource
Made by the proxy: its answers to failures (including a FailureResponder's), the 407 authentication challenge and the 200 that opens a CONNECT tunnel.
PROXY_AUTHENTICATE - Static variable in class org.microproxy.http.HttpHeaderNames
The Proxy-Authenticate header field name.
PROXY_AUTHENTICATION_REQUIRED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
PROXY_AUTHORIZATION - Static variable in class org.microproxy.http.HttpHeaderNames
The Proxy-Authorization header field name.
PROXY_CONNECTION - Static variable in class org.microproxy.http.HttpHeaderNames
The Proxy-Connection header field name.
ProxyAuthenticator - Interface in org.microproxy
Decides which clients may use the proxy.
ProxyFailure - Interface in org.microproxy
Why the proxy has to answer a request itself instead of relaying the server's response.
ProxyFailure.BadRequest - Record Class in org.microproxy
The proxy refuses the request: an origin-form request without HttpProxyServerBootstrap.withAllowRequestToOriginServer(boolean), an https:// request without HttpProxyServerBootstrap.withTlsOrigination(boolean), or a CONNECT target that is not host:port.
ProxyFailure.BadServerResponse - Record Class in org.microproxy
The server's response was malformed, or the server closed the connection or failed before the response head (or a body the filters asked to buffer) was complete.
ProxyFailure.ConnectFailed - Record Class in org.microproxy
No connection could be made to the server or any chained proxy offered for it: refused, unreachable, timed out, a chained proxy whose own name did not resolve, or a chained proxy that refused the CONNECT or SOCKS request.
ProxyFailure.NoConnectionAvailable - Record Class in org.microproxy
The shared connection pool had no connection to spare within the connect timeout.
ProxyFailure.NoRoute - Record Class in org.microproxy
There is nowhere to send the request: it names no host (hostAndPort is null), or the ChainedProxyManager offered no route.
ProxyFailure.RequestTooLarge - Record Class in org.microproxy
The request body is larger than the filters asked to buffer (maxBytes).
ProxyFailure.ServerTimeout - Record Class in org.microproxy
The server did not answer within the idle timeout.
ProxyFailure.TlsFailed - Record Class in org.microproxy
The TLS handshake with the server (when intercepting) or with a TLS chained proxy failed or did not finish within HttpProxyServerBootstrap.withTlsHandshakeTimeout(java.time.Duration) (or the request's HttpFilters.proxyToServerTlsHandshakeTimeout()), e.g. because its certificate is not trusted.
ProxyFailure.TlsFailed.Reason - Enum Class in org.microproxy
Why a TLS handshake failed, read from the exception's cause chain: the certificate checks first, then an alert from the peer, a timeout, or anything else.
ProxyFailure.UnresolvedHost - Record Class in org.microproxy
The server's name did not resolve (direct connections).
proxyProtocolDestination() - Method in class org.microproxy.ProtocolPolicy
Which address a PROXY protocol header the proxy sends to a server names as its destination (ProxyProtocolDestination).
proxyProtocolDestination(ProxyProtocolDestination) - Method in class org.microproxy.Http1PolicyBuilder
 
proxyProtocolDestination(ProxyProtocolDestination) - Method in class org.microproxy.ProtocolPolicy.Builder
ProxyProtocolDestination - Enum Class in org.microproxy
Which address a PROXY protocol header the proxy sends to a server (HttpProxyServerBootstrap.withSendProxyProtocol(boolean)) names as its destination, when the client's connection did not bring a header of its own (whose destination is passed on as it is).
ProxyProtocolMode - Enum Class in org.microproxy
Whether client connections start with a PROXY protocol header (v1 or v2, as HAProxy defines them), which names the client a load balancer in front of the proxy connected for.
proxyStarted(HttpProxyServer) - Method in interface org.microproxy.FlowTracer
Called once a proxy that uses this tracer has started, for instance to read its stats.
proxyStarted(HttpProxyServer) - Method in class org.microproxy.otel.Telemetry
 
proxyToClientResponse(HttpObject) - Method in interface org.microproxy.HttpFilters
Filters responses on their way from the proxy to the client.
proxyToClientResponse(HttpObject) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToClientResponse(HttpObject) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToClientResponseSent(HttpResponse, ResponseSource) - Method in interface org.microproxy.HttpFilters
Called once the whole response has been written to the client, whoever made it: the server, the proxy, a filter or the cache.
proxyToClientResponseSent(HttpResponse, ResponseSource) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToClientResponseSent(HttpResponse, ResponseSource) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerAllowMitm() - Method in interface org.microproxy.HttpFilters
Whether this CONNECT request may be intercepted when a MitmManager is configured.
proxyToServerAllowMitm() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerAllowMitm() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerAllowMitm(ClientHello) - Method in interface org.microproxy.HttpFilters
Whether this CONNECT (or transparent TLS connection) may be intercepted, now that the client's TLS ClientHello is known: return false to tunnel the bytes untouched, so the client sees the real server's certificate.
proxyToServerAllowMitm(ClientHello) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerAllowMitm(ClientHello) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerAllowOfflineMitm() - Method in interface org.microproxy.HttpFilters
For a CONNECT that is being intercepted but whose server cannot be reached: return true to intercept it anyway, with a certificate made from the requested host name alone, so these filters can answer the requests inside the session (from a cache, for example).
proxyToServerAllowOfflineMitm() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerConnectionFailed() - Method in interface org.microproxy.HttpFilters
Called when an upstream connection attempt fails.
proxyToServerConnectionFailed() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerConnectionSSLHandshakeStarted() - Method in interface org.microproxy.HttpFilters
Called before the upstream TLS handshake starts.
proxyToServerConnectionSSLHandshakeStarted() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerConnectionStarted() - Method in interface org.microproxy.HttpFilters
Called before an upstream TCP connection attempt starts.
proxyToServerConnectionStarted() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerConnectionSucceeded(FullFlowContext) - Method in interface org.microproxy.HttpFilters
Called once the connection to the server (or chained proxy) is ready for traffic.
proxyToServerConnectionSucceeded(FullFlowContext) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerConnectTimeout() - Method in interface org.microproxy.HttpFilters
The connect timeout for this request's connection attempts: to the server, or to each chained proxy tried.
proxyToServerConnectTimeout() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerConnectTimeout() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerFailure(ProxyFailure) - Method in interface org.microproxy.HttpFilters
Called when the proxy is about to answer this request itself because of failure (the server could not be reached, timed out or answered badly, the request was refused, ...).
proxyToServerFailure(ProxyFailure) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerFailure(ProxyFailure) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerMitmHandshake() - Method in interface org.microproxy.HttpFilters
When the proxy runs its TLS handshake with the server for this CONNECT, which it intercepts, instead of what the ProtocolPolicy of the client's protocol says (ProtocolPolicy.mitmServerHandshake()): MitmServerHandshake.DEFERRED after answering it and reading the client's ClientHello, MitmServerHandshake.EAGER before answering it.
proxyToServerMitmHandshake() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerMitmHandshake() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerRequest(HttpObject) - Method in interface org.microproxy.HttpFilters
Filters requests on their way from the proxy to the server, after the proxy has rewritten headers.
proxyToServerRequest(HttpObject) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerRequest(HttpObject) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerRequestSending() - Method in interface org.microproxy.HttpFilters
Called just before the request head is written to the server.
proxyToServerRequestSending() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerRequestSending() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerRequestSent() - Method in interface org.microproxy.HttpFilters
Called after the complete request, including its body, has been written to the server.
proxyToServerRequestSent() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerRequestSent() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerResolutionFailed(String) - Method in interface org.microproxy.HttpFilters
Called when the upstream host name cannot be resolved.
proxyToServerResolutionFailed(String) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerResolutionStarted(String) - Method in interface org.microproxy.HttpFilters
Called before the server's host name is resolved.
proxyToServerResolutionStarted(String) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerResolutionStarted(String) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerResolutionSucceeded(String, InetSocketAddress) - Method in interface org.microproxy.HttpFilters
Called after the upstream host name is resolved.
proxyToServerResolutionSucceeded(String, InetSocketAddress) - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerTlsHandshakeTimeout() - Method in interface org.microproxy.HttpFilters
The TLS handshake timeout for this request's upstream handshakes: with the server when the proxy speaks TLS to it (an intercepted CONNECT, an absolute https:// URL, HTTP/2 to the server), and with each TLS chained proxy tried (https:// and h2:// ones), including the server's handshake inside a tunnel through one.
proxyToServerTlsHandshakeTimeout() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerTlsHandshakeTimeout() - Method in class org.microproxy.HttpFiltersChain.Chained
 
proxyToServerTlsIdentity(String) - Method in interface org.microproxy.HttpFilters
The TLS identity of this request's connection to serverHostAndPort: the server name sent as SNI and the host the server's certificate is verified against, when they are not the request's host, e.g. for a route that dials an IP address or an internal load balancer (HttpFilters.proxyToServerResolutionStarted(java.lang.String), a resolver, a chained proxy) while the service presents a certificate for its public name.
proxyToServerTlsIdentity(String) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
proxyToServerTlsIdentity(String) - Method in class org.microproxy.HttpFiltersChain.Chained
 
pto(SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
The probe timeout of a space, without backoff: smoothed_rtt + max(4 * rttvar, kGranularity), plus the peer's max_ack_delay in the application data space.
ptoBase() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
The probe timeout before backoff and max_ack_delay: smoothed_rtt + max(4 * rttvar, kGranularity) (RFC 9002 section 6.2.1).
ptoCount() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The number of probe timeouts since the last acknowledgement, which sets the backoff.
PTR - Static variable in class org.microproxy.dns.DnsMessage
Type PTR: a domain name pointer.
publicKey(PublicKey) - Method in class org.microproxy.tls.CertificateBuilder
Sets the public key certified by this certificate.
PUSH - Enum constant in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Kind
A push stream.
PUSH - Static variable in class io.github.mahmoudimus.http3.Http3StreamType
A push stream: a push ID, then the pushed response (server to client only).
PUSH_NEW_CID - Enum constant in enum class io.github.mahmoudimus.quic.connection.Timer
When to retire old connection IDs and push new ones with NEW_CONNECTION_ID.
PUSH_PROMISE - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for a promised stream and field block.
PUSH_PROMISE - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
PUSH_PROMISE (§7.2.5).
pushId() - Method in record class io.github.mahmoudimus.http3.Http3Frame.CancelPush
Returns the value of the pushId record component.
pushId() - Method in record class io.github.mahmoudimus.http3.Http3Frame.MaxPushId
Returns the value of the pushId record component.
pushId() - Method in record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
Returns the value of the pushId record component.
pushId() - Method in record class org.microproxy.frames.Http3Frame.CancelPush
Returns the value of the pushId record component.
pushId() - Method in record class org.microproxy.frames.Http3Frame.MaxPushId
Returns the value of the pushId record component.
pushId() - Method in record class org.microproxy.frames.Http3Frame.PushPromise
Returns the value of the pushId record component.
PushPromise(int, int, byte[], boolean, int) - Constructor for record class io.github.mahmoudimus.http2.Frame.PushPromise
Creates PUSH_PROMISE with nonzero stream identifiers and valid padding.
PushPromise(int, int, List<Field>) - Constructor for record class org.microproxy.frames.Http2Frame.PushPromise
Creates PUSH_PROMISE.
PushPromise(long, byte[]) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
Creates PUSH_PROMISE.
PushPromise(long, List<Field>) - Constructor for record class org.microproxy.frames.Http3Frame.PushPromise
Creates PUSH_PROMISE.
put(String, byte[]) - Method in class io.github.mahmoudimus.quic.token.TokenMemoryCache
 
put(String, byte[]) - Method in interface io.github.mahmoudimus.quic.token.TokenStore
Keeps a token for later, one-time use.
put(String, SessionTicket) - Method in class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
 
put(String, SessionTicket) - Method in interface io.github.mahmoudimus.quic.tls.ClientSessionStore
Keeps a ticket.
put(CachedResponse) - Method in interface org.microproxy.cache.CacheStore
Stores response, replacing the variant of its key with the same vary values.
put(CachedResponse) - Method in class org.microproxy.cache.DiskCacheStore
 
put(CachedResponse) - Method in class org.microproxy.cache.MemoryCacheStore
 
PUT - Static variable in class org.microproxy.http.HttpMethod
The PUT request method.

Q

qlog() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The receiver of qlog-style events, if any.
qlog(QlogSink) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Reports qlog-style events (packets sent, received and lost, metrics, state changes).
qlogDirectory() - Method in class org.microproxy.Http3Options
Returns the directory the proxy's QUIC connections write qlog files to, or null for none.
qlogDirectory(Path) - Method in class org.microproxy.Http3Options.Builder
Writes a qlog file for each of the proxy's QUIC connections, to clients and to servers, into directory (made if missing): JSON-SEQ (.sqlog) in the qlog main schema's format, named after the connection's original Destination Connection ID and whether the proxy was its server or its client.
qlogMaxFileBytes() - Method in class org.microproxy.Http3Options
Returns the largest a qlog file grows; past it, the connection's later events are left out.
qlogMaxFileBytes(long) - Method in class org.microproxy.Http3Options.Builder
The largest a qlog file grows (default 64 MiB): past it, the connection's later events are left out.
qlogMaxFiles() - Method in class org.microproxy.Http3Options
Returns how many qlog files the directory keeps; past it, the oldest are deleted.
qlogMaxFiles(int) - Method in class org.microproxy.Http3Options.Builder
How many qlog files the directory keeps (default 1000): past it, the oldest the proxy wrote are deleted.
QlogSink - Interface in io.github.mahmoudimus.quic.connection
Receives qlog-style connection events, for debugging: packets sent, received and lost, recovery metrics, key updates and state changes.
qpack(long, int) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
The QPACK dynamic table the sender may use: the SETTINGS_QPACK_MAX_TABLE_CAPACITY and SETTINGS_QPACK_BLOCKED_STREAMS its peer advertised.
QPACK_BLOCKED_STREAMS - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
 
QPACK_DECODER - Static variable in class io.github.mahmoudimus.http3.Http3StreamType
The QPACK decoder stream: decoder instructions, for QpackEncoder.onDecoderStream(byte[]).
QPACK_DECODER_STREAM_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
An instruction on the decoder stream could not be processed.
QPACK_DECOMPRESSION_FAILED - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
A field section could not be decoded (RFC 9204 §6).
QPACK_ENCODER - Static variable in class io.github.mahmoudimus.http3.Http3StreamType
The QPACK encoder stream: encoder instructions, for QpackDecoder.onEncoderStream(byte[]).
QPACK_ENCODER_STREAM_ERROR - Enum constant in enum class io.github.mahmoudimus.http3.Http3ErrorCode
An instruction on the encoder stream could not be processed.
QPACK_MAX_TABLE_CAPACITY - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
 
qpackBlockedStreams() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns the value of the qpackBlockedStreams record component.
qpackBlockedStreams() - Method in class org.microproxy.Http3Options
Returns SETTINGS_QPACK_BLOCKED_STREAMS: streams that may wait for the peer's QPACK encoder stream at once.
qpackBlockedStreams(int) - Method in class org.microproxy.Http3Options.Builder
Streams whose field sections may wait for the peer's QPACK encoder stream at once (default 16), advertised as SETTINGS_QPACK_BLOCKED_STREAMS.
qpackBlockedStreams(long) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Sets SETTINGS_QPACK_BLOCKED_STREAMS.
QpackDecoder - Class in io.github.mahmoudimus.http3
Decodes QPACK field sections (RFC 9204) and keeps the dynamic table in step with the peer's encoder.
QpackDecoder() - Constructor for class io.github.mahmoudimus.http3.QpackDecoder
A static-table-only decoder: SETTINGS_QPACK_MAX_TABLE_CAPACITY and BLOCKED_STREAMS of 0.
QpackDecoder(long, int) - Constructor for class io.github.mahmoudimus.http3.QpackDecoder
A decoder for the given settings, which this endpoint must advertise in its SETTINGS.
QpackEncoder - Class in io.github.mahmoudimus.http3
Encodes field sections with QPACK (RFC 9204).
QpackEncoder() - Constructor for class io.github.mahmoudimus.http3.QpackEncoder
A static-table-only encoder: it never uses the dynamic table, whatever the peer allows.
QpackEncoder(long) - Constructor for class io.github.mahmoudimus.http3.QpackEncoder
An encoder that will use a dynamic table of up to maxTableCapacity octets (memory it is willing to spend), and no more than the peer's SETTINGS_QPACK_MAX_TABLE_CAPACITY.
qpackMaxTableCapacity() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns the value of the qpackMaxTableCapacity record component.
qpackMaxTableCapacity() - Method in class org.microproxy.Http3Options
Returns SETTINGS_QPACK_MAX_TABLE_CAPACITY: the QPACK dynamic table each side may use, in bytes.
qpackMaxTableCapacity(long) - Method in class io.github.mahmoudimus.http3.Http3Settings.Builder
Sets SETTINGS_QPACK_MAX_TABLE_CAPACITY.
qpackMaxTableCapacity(long) - Method in class org.microproxy.Http3Options.Builder
The QPACK dynamic table (default 4096 bytes): the most the proxy keeps for a peer's field sections, advertised as SETTINGS_QPACK_MAX_TABLE_CAPACITY, and the most it uses for its own. 0 turns the dynamic table off: field sections are encoded with the static table and literals only.
quantile(double) - Method in class org.microproxy.stats.Histogram.Snapshot
Estimates quantile q by interpolating linearly inside the bucket it falls in, as Prometheus's histogram_quantile does; a quantile in the +Inf bucket is the last bound.
query(int, String, int) - Static method in class org.microproxy.dns.DnsMessage
A query with recursion desired, for one name and type of class IN, without EDNS.
Question(String, int) - Constructor for record class org.microproxy.dns.DnsMessage.Question
A question of class IN.
Question(String, int, int) - Constructor for record class org.microproxy.dns.DnsMessage.Question
Checks the name.
questions() - Method in class org.microproxy.dns.DnsMessage
Returns the question section.
queue(int, Duration) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Lets up to maxWaiting requests per key wait up to maxWait each for a permit before they are refused.
queueMaxStreamId(Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Queues MAX_STREAMS if enough remote streams closed: more than an eighth of the concurrency limit.
QUIC - Enum constant in enum class org.microproxy.FlowRecord.Kind
A QUIC flow intercepted stream by stream (quic).
QUIC_MAX_EARLY_DATA - Static variable in class io.github.mahmoudimus.quic.tls.SessionTicket
max_early_data_size in a ticket that allows QUIC 0-RTT (RFC 9001 section 4.6.1).
QUIC_RELAY - Enum constant in enum class org.microproxy.FlowRecord.Kind
A transparent QUIC flow whose datagrams were relayed untouched, or dropped (quic_relay).
QuicClient - Class in io.github.mahmoudimus.quic
A QUIC client endpoint on one UDP socket, from which any number of connections can be made.
quicCongestionControl() - Method in class org.microproxy.Http3Options
Returns the congestion controller of the proxy's QUIC connections, to clients and to servers.
quicCongestionControl(Http3Options.QuicCongestionControl) - Method in class org.microproxy.Http3Options.Builder
The congestion controller of the proxy's QUIC connections, those its HTTP/3 and transparent QUIC listeners accept and those it opens to servers (default CUBIC).
QuicConnection - Class in io.github.mahmoudimus.quic
A QUIC connection with a blocking API made for virtual threads: open and accept streams, read and write them as InputStreams and OutputStreams, send and receive datagrams.
QuicConnection.Observer - Interface in io.github.mahmoudimus.quic
Learns of an endpoint's connections as they open, complete their handshakes and close, for statistics: set with QuicServer.observe(io.github.mahmoudimus.quic.QuicConnection.Observer) or QuicClient.observe(io.github.mahmoudimus.quic.QuicConnection.Observer).
QuicConnection.Stats - Record Class in io.github.mahmoudimus.quic
Connection statistics.
QuicConnectionException - Exception Class in io.github.mahmoudimus.quic
A blocking operation failed because its connection ended, or could not be established.
QuicConnectionException(ConnectionError) - Constructor for exception class io.github.mahmoudimus.quic.QuicConnectionException
An exception for a connection that ended.
QuicContext - Interface in org.microproxy.quic
One intercepted QUIC connection, as a QuicInterceptor sees it: who the client is, where the connection goes, what was negotiated, and a way to add datagrams.
QuicDatagram - Class in org.microproxy.quic
One datagram's payload (RFC 9221) of an intercepted QUIC connection, as a QuicInterceptor sees it.
QuicDatagram(byte[], boolean, Instant) - Constructor for class org.microproxy.quic.QuicDatagram
A datagram.
quicEnd(QuicContext) - Method in interface org.microproxy.quic.QuicInterceptor
The connection ended: one side closed its connection (the other was closed the same way) without an error, or the proxy closed both.
quicError(QuicContext, Throwable) - Method in interface org.microproxy.quic.QuicInterceptor
The connection failed: one side's connection timed out, was reset (a stateless reset) or closed with a transport error.
QuicException - Exception Class in io.github.mahmoudimus.quic
A QUIC connection error (RFC 9000 section 20), carrying the error code a CONNECTION_CLOSE frame sends to the peer.
QuicException(long, String) - Constructor for exception class io.github.mahmoudimus.quic.QuicException
A connection error.
quicFramer() - Method in class org.microproxy.starlark.ScriptedProxy
A MessageFramer that asks the script's quic_message_length(data) how long the message at the start of a stream direction's bytes is: an int (the whole message's length, which may be more than the bytes so far), or None until the bytes say.
QuicFraming - Class in org.microproxy.quic
Which MessageFramer cuts the streams of an intercepted QUIC connection into messages, for a QuicInterceptor that overrides QuicInterceptor.streamMessage(org.microproxy.quic.QuicMessage, org.microproxy.quic.QuicStreamContext); the limit on a message's size; and the error code a stream is reset with when a message is too large or malformed.
quicInterceptor() - Method in class org.microproxy.starlark.ScriptedProxy
An interceptor that calls the script's on_quic_start(ctx), on_quic_stream_data(msg, ctx), on_quic_datagram(msg, ctx) and on_quic_end(ctx), for HttpProxyServerBootstrap.withQuicInterceptor(org.microproxy.quic.QuicInterceptor): QUIC intercepted stream by stream.
QuicInterceptor - Interface in org.microproxy.quic
Sees, rewrites, drops and adds the stream data and datagrams of QUIC connections the proxy terminates without speaking their protocol: the QUIC counterpart of TcpInterceptor.
QuicMessage - Class in org.microproxy.quic
One whole message of a stream of an intercepted QUIC connection, as QuicInterceptor.streamMessage(org.microproxy.quic.QuicMessage, org.microproxy.quic.QuicStreamContext) sees it: the payload a MessageFramer cut out of the stream (without its length prefix or delimiter), which side sent it, on which stream, and when it was complete.
QuicMessage(byte[], boolean, long, String, Instant) - Constructor for class org.microproxy.quic.QuicMessage
A message.
QuicServer - Class in io.github.mahmoudimus.quic
A QUIC server on one UDP socket.
QuicServer.DatagramFilter - Interface in io.github.mahmoudimus.quic
Sees the datagrams a server receives that none of its connections claims (by Destination Connection ID) before its endpoint does: a client's first Initial, packets of unknown versions, packets for connections the server does not know.
QuicServer.DatagramSink - Interface in io.github.mahmoudimus.quic
Where an unbound server's datagrams go: the transport it runs over instead of a socket.
quicStart(QuicContext) - Method in interface org.microproxy.quic.QuicInterceptor
A connection was intercepted: the handshakes with both sides are complete, nothing has been relayed yet.
QuicStream - Class in io.github.mahmoudimus.quic
One QUIC stream of a QuicConnection, with blocking InputStream and OutputStream views.
QuicStreamContext - Interface in org.microproxy.quic
One stream of an intercepted QUIC connection, as a QuicInterceptor sees it: the connection's details (QuicContext), which stream it is, who opened it, and a way to add bytes.
QuicStreamException - Exception Class in io.github.mahmoudimus.quic
A stream operation failed because the peer abandoned the stream: it reset the stream (RESET_STREAM, seen by a reader) or asked this side to stop sending (STOP_SENDING, seen by a writer).
QuicStreamException(QuicStreamException.Kind, long) - Constructor for exception class io.github.mahmoudimus.quic.QuicStreamException
An exception.
QuicStreamException.Kind - Enum Class in io.github.mahmoudimus.quic
How the peer abandoned the stream.
QuicStreamMessage - Class in org.microproxy.quic
Bytes the proxy read from one side of a stream of an intercepted QUIC connection, as a QuicInterceptor sees them.
QuicStreamMessage(byte[], boolean, Instant) - Constructor for class org.microproxy.quic.QuicStreamMessage
A message.
QuicVarInt - Class in io.github.mahmoudimus.http3
QUIC variable-length integers (RFC 9000 §16), which HTTP/3 uses for frame types, lengths, settings, stream types, push IDs and error codes.
QuicVersion - Enum Class in io.github.mahmoudimus.quic
The QUIC versions this module speaks: version 1 (RFC 9000) and version 2 (RFC 9369).

R

randbytes(StarlarkInt) - Method in class org.microproxy.starlark.stdlib.RandomModule
Produces random bytes using the same generator as RandomModule.urandom(org.microproxy.thirdparty.starlark.eval.StarlarkInt).
randint(StarlarkInt, StarlarkInt) - Method in class org.microproxy.starlark.stdlib.RandomModule
Chooses an integer uniformly between inclusive endpoints.
random() - Method in class org.microproxy.starlark.stdlib.RandomModule
Produces a uniformly distributed random fraction.
random(SecureRandom) - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
The source of randomness for the endpoint and its connections: connection IDs (unless a EndpointConfig.Builder.cidGenerator is set), the reset key (unless one is set), packet number skipping, padding, Retry and NEW_TOKEN nonces.
random(SecureRandom) - Static method in class io.github.mahmoudimus.quic.token.TokenKey
A key from a fresh random master secret of 64 bytes.
random(Random, int) - Static method in class io.github.mahmoudimus.quic.ConnectionId
A random connection ID.
RandomConnectionIdGenerator - Class in io.github.mahmoudimus.quic.connection
Generates random connection IDs of a fixed length, 8 bytes by default.
RandomConnectionIdGenerator() - Constructor for class io.github.mahmoudimus.quic.connection.RandomConnectionIdGenerator
A generator of 8-byte IDs from a new SecureRandom, which never expire.
RandomConnectionIdGenerator(int, long, Random) - Constructor for class io.github.mahmoudimus.quic.connection.RandomConnectionIdGenerator
A generator.
RandomModule - Class in org.microproxy.starlark.stdlib
@stdlib//jrandom: randomness from SecureRandom, for random.star and uuid.star (starlarky's came from BouncyCastle's registrar).
randrange(StarlarkInt, Object, StarlarkInt) - Method in class org.microproxy.starlark.stdlib.RandomModule
Chooses an integer uniformly from a stepped, stop-exclusive range.
range(long, long) - Method in class io.github.mahmoudimus.quic.connection.SentPackets
The packets numbered [from, to), in increasing order.
Range(long, long) - Constructor for record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Creates an instance of a Range record class.
ranges() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
The packet numbers to acknowledge.
ranges() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Returns the value of the ranges record component.
RangeSet - Class in io.github.mahmoudimus.quic.connection
A set of non-negative long values stored as disjoint, non-adjacent half-open ranges, for long runs with random insertion and removal: received packet numbers, ACK ranges, received and acknowledged stream offsets.
RangeSet() - Constructor for class io.github.mahmoudimus.quic.connection.RangeSet
An empty set.
RangeSet(RangeSet) - Constructor for class io.github.mahmoudimus.quic.connection.RangeSet
A copy of another set.
RangeSet.Range - Record Class in io.github.mahmoudimus.quic.connection
A half-open range [start, end).
RATE_LIMIT_SERVICE_ERROR - Enum constant in enum class org.microproxy.ResponseFlag
RLSE: the rate-limit service failed.
RATE_LIMITED - Enum constant in enum class org.microproxy.ResponseFlag
RL: the request was refused by a rate or concurrency limit.
RateSample - Record Class in io.github.mahmoudimus.quic.congestion
A delivery rate sample (draft-cheng-iccrg-delivery-rate-estimation), taken when an ACK acknowledges packets that were in flight.
RateSample(long, long, long, long, boolean, long) - Constructor for record class io.github.mahmoudimus.quic.congestion.RateSample
Creates an instance of a RateSample record class.
rateWindow() - Method in class org.microproxy.Http2Options
Returns the window the rate limits count frames in.
rateWindow() - Method in class org.microproxy.Http3Options
Returns the window the rate limits count events in.
rateWindow(Duration) - Method in class org.microproxy.Http2Options.Builder
The window the rate limits below count frames in (default 10 s).
rateWindow(Duration) - Method in class org.microproxy.Http3Options.Builder
The window the rate limits below count events in (default 10 s).
raw() - Method in record class org.microproxy.ClientHello
Returns a copy of the handshake message bytes.
raw(byte[]) - Static method in class io.github.mahmoudimus.zstd.ZstdDictionary
Treats all of content as a raw-content dictionary (ID 0).
rawBytes() - Method in class org.microproxy.http.WebSocketFrame
The frame exactly as on the wire: header plus (masked) payload, or just the header if truncated.
rawTcp() - Method in record class org.microproxy.ReverseProxyMode
Returns whether client connections are relayed as raw bytes (tcp).
rcode() - Method in class org.microproxy.dns.DnsMessage
Returns the RCODE: 0 NOERROR, 2 SERVFAIL, 3 NXDOMAIN, ....
rcodeName(int) - Static method in class org.microproxy.dns.DnsMessage
The name of an RCODE.
rdata() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns the value of the rdata record component.
read() - Method in class io.github.mahmoudimus.zstd.ZstdInputStream
 
read(byte[], int, int) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
Reads one integer from src[offset..end).
read(byte[], int, int) - Method in class io.github.mahmoudimus.zstd.ZstdInputStream
 
read(int, boolean) - Method in class io.github.mahmoudimus.quic.connection.Assembler
Takes the next chunk.
read(StreamId, boolean, Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Starts reading a stream.
read(StreamId, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Connection
Reads stream data in order.
read(InputStream) - Static method in class io.github.mahmoudimus.http3.Http3StreamType
Reads a stream type from the start of a unidirectional stream.
read(InputStream) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
Reads one integer.
read(ByteBuffer) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
Reads one integer from the buffer's position.
read(ByteBuffer) - Static method in class io.github.mahmoudimus.quic.StatelessResetToken
Reads a token at the buffer's position.
read(ByteBuffer) - Static method in class io.github.mahmoudimus.quic.VarInt
Reads a value at the buffer's position, in any of the four encodings.
read(ByteBuffer, int) - Static method in class io.github.mahmoudimus.quic.ConnectionId
Reads a connection ID of known length at the buffer's position.
read(ByteBuffer, int) - Static method in class io.github.mahmoudimus.quic.packet.PacketNumber
Reads a truncated packet number.
Readable(StreamId) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamEvent.Readable
Creates an instance of a Readable record class.
readClientPreface() - Method in class io.github.mahmoudimus.http2.FrameReader
Reads and checks the client connection preface, failing at the first wrong byte so that, say, an HTTP/1.1 request is rejected without waiting for 24 bytes.
readFrame() - Method in class io.github.mahmoudimus.http2.FrameReader
Reads the next frame.
readFrame() - Method in class io.github.mahmoudimus.http3.Http3FrameReader
Reads the next frame.
readHandshake(EncryptionLevel, ByteBuffer) - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Feeds CRYPTO stream bytes received at an encryption level, in stream order.
readHar(Path) - Static method in record class org.microproxy.extras.RecordedExchange
Reads the entries of a HAR file.
readStreamType() - Method in class io.github.mahmoudimus.http3.Http3FrameReader
Reads the stream type that starts every unidirectional stream (RFC 9114 §6.2); see Http3StreamType.
readWarc(Path) - Static method in record class org.microproxy.extras.RecordedExchange
Reads the exchanges of a WARC file: each response record with its request record (linked by WARC-Concurrent-To).
READY - Enum constant in enum class io.github.mahmoudimus.quic.connection.SendState
Open, but no STREAM or STREAM_DATA_BLOCKED frame has been sent yet.
reason() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Returns the value of the reason record component.
reason() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.ConnectionLost
Returns the value of the reason record component.
reason() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
The reason phrase.
reason() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
The reason phrase.
reason() - Method in class org.microproxy.cache.CachedResponse
Returns the stored HTTP reason phrase.
reason() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the reason record component.
reason() - Method in record class org.microproxy.ProxyFailure.BadRequest
Returns the value of the reason record component.
reason() - Method in record class org.microproxy.ProxyFailure.TlsFailed
Returns why the handshake failed, as far as ProxyFailure.TlsFailed.cause()'s chain tells.
reasonPhrase() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
The reason phrase as text.
reasonPhrase() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
The reason phrase as text.
reasonPhrase() - Method in record class org.microproxy.http.HttpResponseStatus
Returns the value of the reasonPhrase record component.
rebind(long, InetSocketAddress) - Method in class io.github.mahmoudimus.quic.connection.Connection
Client: moves the connection to a new local address at once, without probing the path first, as quinn's local_address_changed does after its endpoint rebinds: the next packets carry a connection ID of the server's not used before (when the server gave one), and a PING from the new address makes the server follow and validate it.
rebind(InetSocketAddress) - Method in class io.github.mahmoudimus.quic.QuicConnection
Client: moves the connection to a new local address at once, without probing the path first, as quinn's endpoint does when it rebinds: packets leave from a UDP socket bound at local from now on, with a connection ID of the server's not used before when it gave one, and the server follows as it follows a NAT rebinding, validating the new path itself.
receive(int) - Method in class io.github.mahmoudimus.http2.FlowControlWindow
Debits the window for a received flow-controlled frame.
receive(InetSocketAddress, ByteBuffer) - Method in class io.github.mahmoudimus.quic.QuicServer
Hands the server a datagram as if its socket had received it: to the connection it belongs to, else past the filter to the endpoint.
received() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
When the client received the ticket.
received(Frame.Stream, int) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a STREAM frame.
receivedAckOf(StreamMeta) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Records that a STREAM frame was acknowledged; may release the stream and report StreamEvent.Finished.
receiveDatagram() - Method in class io.github.mahmoudimus.quic.connection.Connection
Takes a received datagram.
receiveDatagram() - Method in class io.github.mahmoudimus.quic.QuicConnection
Waits for a datagram from the peer.
receiveDatagram(Duration) - Method in class io.github.mahmoudimus.quic.QuicConnection
Waits for a datagram from the peer, up to a timeout.
receivedBytes() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Bytes of datagrams received and taken by the connection, as UDP payloads, on every path.
receivedBytes() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the receivedBytes record component.
receivedEarlyData() - Method in class io.github.mahmoudimus.quic.QuicStream
Server: whether any of the stream's data arrived in 0-RTT packets.
receivedEarlyData(StreamId) - Method in class io.github.mahmoudimus.quic.connection.Connection
Server: whether a stream the client opened carried data in 0-RTT packets, which an attacker may have replayed.
receivedMaxData(long) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a MAX_DATA frame; smaller limits than the current one are ignored.
receivedMaxStreamData(StreamId, long) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a MAX_STREAM_DATA frame.
receivedMaxStreams(Dir, long) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a MAX_STREAMS frame.
receivedPackets() - Method in class io.github.mahmoudimus.quic.connection.Connection
Packets received and authenticated.
receivedPackets() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the receivedPackets record component.
receivedReset(Frame.ResetStream) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a RESET_STREAM frame.
receivedStopSending(Frame.StopSending) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a STOP_SENDING frame.
receivedStreamDataBlocked(Frame.StreamDataBlocked) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a STREAM_DATA_BLOCKED frame, which needs no response.
receivedStreamsBlocked(Frame.StreamsBlocked) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Processes a STREAMS_BLOCKED frame, which needs no response.
receiveWindow() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The connection receive window.
receiveWindow(long) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The receive window of the connection, across streams.
reclaimed() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns the value of the reclaimed record component.
record(double) - Method in interface org.microproxy.stats.Histogram
Records value.
record(Object) - Method in class org.microproxy.starlark.ScriptStats.ScriptHistogram
histogram.record(value).
Record(String, List<Map.Entry<String, String>>, byte[]) - Constructor for record class org.microproxy.warc.WarcReader.Record
Copies the fields.
recordedEntries() - Method in class org.microproxy.extras.HarRecorder
Returns the number of entries recorded so far.
RecordedExchange - Record Class in org.microproxy.extras
A recorded exchange, read from a HAR file (as HarRecorder, browsers and mitmproxy write them) or a WARC file (as WarcRecorder writes them), for ServerReplay and ClientReplay.
RecordedExchange(Instant, String, String, List<Map.Entry<String, String>>, byte[], int, String, List<Map.Entry<String, String>>, byte[], boolean) - Constructor for record class org.microproxy.extras.RecordedExchange
Checks the parts and copies the lists.
recordedExchanges() - Method in class org.microproxy.warc.WarcRecorder
Returns exchanges recorded so far.
recordNanos(long) - Method in interface org.microproxy.stats.Histogram
Records a duration measured in nanoseconds, in milliseconds.
recordScriptCall(long, long, long) - Method in class org.microproxy.FlowContext
Adds a call into a script to the exchange's totals; scripting modules call it at the end of every hook call they make for the exchange.
recovery() - Method in class io.github.mahmoudimus.quic.connection.Connection
The loss recovery state, with its statistics.
Recovery - Class in io.github.mahmoudimus.quic.connection
Loss detection and congestion control of one connection (RFC 9002): the three packet number spaces, the in-flight counts, the RTT estimator, the congestion controller, the pacer, MTU discovery and the probe timeout.
Recovery(Side, RecoveryConfig, TimerTable, RandomGenerator, long) - Constructor for class io.github.mahmoudimus.quic.connection.Recovery
Loss recovery for a new connection.
Recovery.Listener - Interface in io.github.mahmoudimus.quic.connection
Receives acknowledged and lost packets.
RecoveryConfig - Record Class in io.github.mahmoudimus.quic.connection
Configuration of loss detection, congestion control, pacing and MTU discovery.
RecoveryConfig(int, double, long, int, int, int, MtuDiscoveryConfig, ControllerFactory, long, long, int) - Constructor for record class io.github.mahmoudimus.quic.connection.RecoveryConfig
A configuration.
RecoveryConfig.Builder - Class in io.github.mahmoudimus.quic.connection
Builds a RecoveryConfig.
RECV - Enum constant in enum class io.github.mahmoudimus.quic.connection.RecvState
Receiving data; the final size is unknown.
recvState(StreamId) - Method in class io.github.mahmoudimus.quic.connection.Connection
The state of a stream's receiving side.
recvState(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
The state of a stream's receiving part.
RecvState - Enum Class in io.github.mahmoudimus.quic.connection
The states of the receiving part of a stream (RFC 9000 section 3.2, figure 3).
redact(String...) - Method in class org.microproxy.extras.HttpLogger.Builder
Also replaces the values of these headers (any case) with "\u2588\u2588", on both sides of the proxy.
REDACTED - Static variable in class org.microproxy.extras.HttpLogger
What redacted values are replaced with.
redactedHeaders() - Method in class org.microproxy.extras.HttpLogger
Returns the redacted header names, in lower case.
redactedQueryParams() - Method in class org.microproxy.extras.HttpLogger
Returns the redacted query parameter names, in lower case.
redactNothing() - Method in class org.microproxy.extras.HttpLogger.Builder
Redacts nothing, not even the default headers; later redact calls add to that.
redactQueryParams(String...) - Method in class org.microproxy.extras.HttpLogger.Builder
Also replaces the values of these query parameters (any case) in logged URLs.
referenceCount(long) - Method in class io.github.mahmoudimus.http3.QpackEncoder
The number of unacknowledged field sections that reference this entry.
refresh() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the refresh record component.
refresh(boolean) - Method in class org.microproxy.extras.ServerReplay.Builder
Shifts the dates of replayed responses by the time since they were recorded (default true).
REFUSED_STREAM - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
The stream was refused before application processing.
registerStats(StatsRegistry, String) - Method in class org.microproxy.extras.ConcurrencyLimiter
Registers the limiter's state with registry as <prefix>.in_use and <prefix>.waiting (gauges), and <prefix>.acquired, <prefix>.rq_blocked (requests over the limit, refused or let through in shadow mode) and <prefix>.reclaimed (counters), read when the metrics are shown.
reinit() - Method in class io.github.mahmoudimus.quic.connection.Assembler
Discards everything and returns to the initial, ordered state.
reject() - Static method in interface org.microproxy.AuthResult
Rejects with the proxy's default 407 challenge.
reject(HttpResponse) - Static method in interface org.microproxy.AuthResult
Rejects with challenge; see AuthResult.Rejected.
REJECT - Static variable in interface io.github.mahmoudimus.quic.tls.EarlyDataPolicy
Accepts no early data.
REJECT_BOGUS - Enum constant in enum class org.microproxy.dns.DnssecHostResolver.Policy
Accept secure and provably insecure answers; reject bogus ones.
rejected() - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Returns the value of the rejected record component.
rejected() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns the value of the rejected record component.
rejected(String, HttpRequest, FlowContext) - Method in interface org.microproxy.extras.ConcurrencyLimiter.RejectListener
Called when a request exceeds its concurrency limit.
Rejected(HttpResponse) - Constructor for record class org.microproxy.AuthResult.Rejected
Creates an instance of a Rejected record class.
releaseRead(StreamId) - Method in class io.github.mahmoudimus.quic.connection.Connection
Forgets a stream whose end of data Connection.read(io.github.mahmoudimus.quic.connection.StreamId, java.nio.ByteBuffer) reported, once the application no longer reads it.
reload(boolean) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
Re-read the file when it changes (default true).
remaining() - Method in class io.github.mahmoudimus.quic.packet.PacketBuilder
The frame space left in the current packet.
remaining() - Method in class org.microproxy.extras.ServerReplay
Returns how many recorded responses are left to replay (all of them, with reuse).
remote() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathProbeFailed
Returns the value of the remote record component.
remote() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathUpdated
Returns the value of the remote record component.
remote() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.ResetToken
Returns the value of the remote record component.
remote() - Method in class io.github.mahmoudimus.quic.connection.PathData
The peer's address on this path.
remote() - Method in record class io.github.mahmoudimus.quic.crypto.Keys
Returns the value of the remote record component.
remote() - Method in record class org.microproxy.otel.SpanContext
Returns the value of the remote record component.
remoteAddress() - Method in class io.github.mahmoudimus.quic.connection.Connection
The peer's address.
remoteAddress() - Method in class io.github.mahmoudimus.quic.QuicConnection
The peer's address.
remoteCid() - Method in class io.github.mahmoudimus.quic.connection.Connection
The connection ID packets to the peer carry now.
RemoteCidQueue - Class in io.github.mahmoudimus.quic.connection
The connection IDs the peer issued to this endpoint (RFC 9000 section 5.1.2): a window of at most limit IDs, our active_connection_id_limit, starting with the one in use.
RemoteCidQueue(ConnectionId) - Constructor for class io.github.mahmoudimus.quic.connection.RemoteCidQueue
A queue with quinn's window of 5.
RemoteCidQueue(ConnectionId, int) - Constructor for class io.github.mahmoudimus.quic.connection.RemoteCidQueue
A queue holding the ID the handshake used, sequence number 0.
RemoteCidQueue.CidInsertException - Exception Class in io.github.mahmoudimus.quic.connection
Signals that an ID could not be stored; see RemoteCidQueue.InsertError.
RemoteCidQueue.InsertError - Enum Class in io.github.mahmoudimus.quic.connection
RemoteCidQueue.Retired - Record Class in io.github.mahmoudimus.quic.connection
Sequence numbers to retire, and the reset token of the ID now in use.
remoteCidSequence() - Method in class io.github.mahmoudimus.quic.connection.Connection
The sequence number of the peer's connection ID in use.
remoteOpenStreams(Dir) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
The number of open remote streams, accepted or not, which count against the concurrency limit.
remove(long) - Method in class io.github.mahmoudimus.quic.connection.SentPackets
Removes a packet.
remove(long, long) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Removes the values [start, end).
remove(String) - Method in interface org.microproxy.cache.CacheStore
Removes every variant stored for key.
remove(String) - Method in class org.microproxy.cache.DiskCacheStore
 
remove(String) - Method in class org.microproxy.cache.MemoryCacheStore
 
remove(String) - Method in class org.microproxy.http.HttpHeaders
Removes every field named name.
remove(String) - Method in class org.microproxy.starlark.ScriptHeaders
Removes all values of a header.
remove(String) - Method in class org.microproxy.stats.StatsRegistry
Forgets the metric named name: it is shown no more, and registering the name again makes a new one.
removeContentEncoding(FullHttpMessage) - Static method in class org.microproxy.http.HttpBodies
Decodes the body and removes Content-Encoding, so later filters see plain bytes.
removeHeaderProtection(HeaderKey, long) - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Removes header protection in place and recovers the full packet number.
removeIf(Predicate<String>) - Method in class org.microproxy.http.HttpHeaders
Removes every field whose name matches namePredicate.
removeRequestHeader(String) - Method in class org.microproxy.extras.RewriteRules.Rule
Removes a header from matching requests.
removeResponseHeader(String) - Method in class org.microproxy.extras.RewriteRules.Rule
Removes a header from matching responses.
removeStream(int) - Method in class io.github.mahmoudimus.http2.FlowController
Stops tracking a closed stream.
render() - Method in record class org.microproxy.contentviews.ProtoMessage
The message as readable YAML-like text with field numbers (or declared names), as Protobuf.render(byte[]) shows it.
render() - Method in class org.microproxy.dns.DnsMessage
The message as dig shows it: the header, then each section.
render() - Method in class org.microproxy.quic.QuicMessage
The payload rendered by the best of the default content views that can: as DNS for DNS over QUIC, else as what the bytes look like (protobuf, JSON, ...).
render(byte[]) - Static method in class org.microproxy.contentviews.Protobuf
Decodes a message without a schema and renders it as YAML with field numbers; see ProtoMessage.render().
render(byte[], ContentView.Metadata) - Method in interface org.microproxy.contentviews.ContentView
Renders data as text.
render(byte[], ContentView.Metadata) - Method in class org.microproxy.contentviews.ContentViews
Renders a body with the best view that can.
render(String, byte[], ContentView.Metadata) - Method in class org.microproxy.contentviews.ContentViews
Renders a body with the view named view, or the best one for "auto".
render(Set<ResponseFlag>, boolean) - Static method in enum class org.microproxy.ResponseFlag
Renders flags as Envoy does: the short (or long) names in this enum's order, separated by commas, or - when there are none.
render(ContentViews) - Method in class org.microproxy.quic.QuicMessage
The payload rendered by the best of views that can.
Rendered(String, String) - Constructor for record class org.microproxy.contentviews.ContentViews.Rendered
Creates an instance of a Rendered record class.
reorderingThreshold() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Returns the value of the reorderingThreshold record component.
repeated() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns the value of the repeated record component.
replace(long, long) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Adds [start, end) and returns the parts of it that were already present, in ascending order.
REPLACE - Enum constant in enum class org.microproxy.otel.Telemetry.RequestIdMode
Always replace it with a random UUID.
REPLACEABLE - Enum constant in enum class org.microproxy.GeneratedResponses
proxyToClientResponse sees generated responses as it sees the server's, and may return another response to send instead, or null to close the connection without an answer.
replaceInBody(String, String) - Method in class org.microproxy.extras.RewriteRules.Rule
Replaces every match of regex in textual response bodies (Matcher.replaceAll(java.lang.String)).
replaceLiteralInBody(String, String) - Method in class org.microproxy.extras.RewriteRules.Rule
Replaces every occurrence of target literally in textual response bodies.
replacement() - Method in record class org.microproxy.extras.MapRemote.Rule
Returns the value of the replacement record component.
replay(List<RecordedExchange>) - Method in class org.microproxy.extras.ClientReplay
Sends exchanges' requests through the proxy and waits for every response.
REPLAY - Enum constant in enum class org.microproxy.ResponseSource
Answered from a recording by ServerReplay: a recorded response, or its answer to a request it has no recording for.
replayable() - Method in record class org.microproxy.extras.RecordedExchange
Returns whether there is a complete response to replay.
reply(List<DnsMessage.ResourceRecord>) - Method in class org.microproxy.dns.DnsMessage
An answer to this query: a response with the same ID, opcode, questions and recursion desired bit, recursion available, the RCODE NOERROR, and answers.
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ProtoFixed
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ProtoGroup
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptClientHello
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptContext
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptFailure
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptFrame
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptFrameContext
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptHeaders
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptHttpFrame
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptQuicContext
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptQuicMessage
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptRequest
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptResponse
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptStats
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptStats.ScriptCounter
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptStats.ScriptGauge
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptStats.ScriptHistogram
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptTcpContext
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptTcpMessage
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptTimings
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptUdpContext
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptUdpMessage
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptUsageValue
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.ScriptWebSocketMessage
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
 
repr(Printer, StarlarkSemantics) - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
 
request() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns the value of the request record component.
request() - Method in interface org.microproxy.extras.FlowFilter.Flow
Returns the request.
request() - Method in class org.microproxy.FlowRecord
The request as the client sent it, before the proxy and filters rewrote it; for a tunnel or a flow, the CONNECT (real, or made up for a SOCKS client, a transparent connection or a QUIC flow) that opened it.
request(HttpRequest) - Method in class org.microproxy.FlowRecord.Builder
Sets the client's request.
REQUEST - Enum constant in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Kind
A request stream: a request, or the response to it.
REQUEST - Enum constant in enum class io.github.mahmoudimus.quic.tls.ClientAuth
A certificate is requested; a client may send none, but one it sends must be valid.
REQUEST - Enum constant in enum class org.microproxy.HttpFiltersBuilder.Body
Request body pieces (HttpFiltersBuilder.onRequestBody).
REQUEST_ENTITY_TOO_LARGE - Static variable in record class org.microproxy.http.HttpResponseStatus
 
REQUEST_HEADER_FIELDS_TOO_LARGE - Static variable in record class org.microproxy.http.HttpResponseStatus
 
REQUEST_TIMEOUT - Static variable in record class org.microproxy.http.HttpResponseStatus
 
requestBody() - Method in interface org.microproxy.extras.FlowFilter.Flow
Returns the decoded request body, or null if it is not available.
requestBody() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the requestBody record component.
requestBufferSizeInBytes(HttpRequest) - Method in interface org.microproxy.HttpFilters
Asks for this request to be buffered, before HttpFilters.clientToProxyRequest(org.microproxy.http.HttpObject) sees it: return a positive size to receive the head and body as one FullHttpRequest, or 0 to stream.
requestBufferSizeInBytes(HttpRequest) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
requestBufferSizeInBytes(HttpRequest) - Method in class org.microproxy.HttpFiltersChain.Chained
 
requestHeader(String) - Method in record class org.microproxy.extras.RecordedExchange
The first value of a request header, without regard to case.
requestHeaders() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the requestHeaders record component.
RequestHeaders - Record Class in io.github.mahmoudimus.http2
A validated HTTP/2 request header section: the control data from the pseudo-header fields and the remaining fields, as Http2Headers.toRequest(int, java.util.List<io.github.mahmoudimus.http2.HeaderField>) produces it.
RequestHeaders - Record Class in io.github.mahmoudimus.http3
A validated HTTP/3 request header section: the control data from the pseudo-header fields and the remaining fields, as Http3Headers.toRequest(long, java.util.List<io.github.mahmoudimus.http3.HeaderField>) produces it.
RequestHeaders(String, String, String, String, String, List<HeaderField>, long) - Constructor for record class io.github.mahmoudimus.http3.RequestHeaders
Creates a request header section.
RequestHeaders(String, String, String, String, List<HeaderField>, long) - Constructor for record class io.github.mahmoudimus.http2.RequestHeaders
Creates request headers without extended CONNECT metadata.
RequestHeaders(String, String, String, String, List<HeaderField>, long, String) - Constructor for record class io.github.mahmoudimus.http2.RequestHeaders
Creates request headers and takes an immutable copy of the regular fields.
requestHeadTimeout() - Method in class org.microproxy.ProtocolPolicy
How long an HTTP/1 request head may take, from its first byte to its end; zero disables the deadline.
requestHeadTimeout(Duration) - Method in class org.microproxy.Http1PolicyBuilder
 
requestHeadTimeout(Duration) - Method in class org.microproxy.ProtocolPolicy.Builder
requestId() - Method in interface org.microproxy.FlowTrace
The exchange's request id (X-Request-Id), which access logs show as %UNIQUE_ID% too, or null to leave FlowRecord.uniqueId() random.
requestId(Telemetry.RequestIdMode) - Method in class org.microproxy.otel.Telemetry.Builder
What happens to X-Request-Id: kept, or made when missing (the default), always made, or left alone.
requestMaxAckDelay() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Returns the value of the requestMaxAckDelay record component.
requestReceivedFromClient(FlowContext, HttpRequest) - Method in interface org.microproxy.ActivityTracker
Called when a request head arrives from the client.
requestSentNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the requestSentNanos record component.
requestSentToServer(FullFlowContext, HttpRequest) - Method in interface org.microproxy.ActivityTracker
Called when a request head is sent to the server.
requestStream(long, InputStream, OutputStream) - Method in class org.microproxy.frames.Http3FramePipeline
Processes a request stream (a bidirectional stream: a request from a client, or the response to it from a server) until its end, writing the result to out, which is flushed after each frame and not closed.
requestTime() - Method in class org.microproxy.cache.CachedResponse
Returns when the request was sent, in epoch milliseconds.
RequestTooLarge(int) - Constructor for record class org.microproxy.ProxyFailure.RequestTooLarge
Creates an instance of a RequestTooLarge record class.
REQUIRE - Enum constant in enum class io.github.mahmoudimus.quic.tls.ClientAuth
A valid certificate is required: a client that sends none fails with certificate_required.
REQUIRE_SECURE - Enum constant in enum class org.microproxy.dns.DnssecHostResolver.Policy
Accept only answers proven secure; names in unsigned zones do not resolve.
REQUIRED - Enum constant in enum class org.microproxy.ProxyProtocolMode
Every connection must start with a PROXY header; one that does not is closed.
requiresEncryption() - Method in interface org.microproxy.ChainedProxy
Returns whether the connection to the chained proxy itself uses TLS (see ChainedProxy.getSslContext()).
reserved(long) - Static method in class io.github.mahmoudimus.http3.Http3FrameType
The nth reserved value, 0x1f * n + 0x21.
reset(long) - Method in class io.github.mahmoudimus.quic.QuicStream
Abandons sending (RESET_STREAM): unsent and unacknowledged data is discarded.
reset(StreamId, long, Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Abandons sending on a stream (RESET_STREAM).
RESET - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
The peer sent a stateless reset.
RESET - Enum constant in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
The peer reset the stream with RESET_STREAM; StreamException.errorCode() is its error code.
RESET - Enum constant in enum class io.github.mahmoudimus.quic.QuicStreamException.Kind
The peer reset its sending side; the data that was not read is lost.
RESET_READ - Enum constant in enum class io.github.mahmoudimus.quic.connection.RecvState
The application has seen the reset.
RESET_RECVD - Enum constant in enum class io.github.mahmoudimus.quic.connection.RecvState
The peer reset the stream.
RESET_RECVD - Enum constant in enum class io.github.mahmoudimus.quic.connection.SendState
The peer acknowledged RESET_STREAM.
RESET_SENT - Enum constant in enum class io.github.mahmoudimus.quic.connection.SendState
The application reset the stream and RESET_STREAM was queued.
RESET_STREAM - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
RESET_STREAM (0x04).
resetAcked(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Releases a stream whose RESET_STREAM was acknowledged.
resetIdleTimer(long, SpaceId, long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Restarts Timer.IDLE: the idle timeout, but at least three PTOs (RFC 9000 section 10.1).
resetKey(byte[]) - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
The secret stateless reset tokens are derived from.
resetScriptStats() - Method in class org.microproxy.FlowContext
Forgets the script totals of the previous exchange: for the proxy, when a new one starts.
resetStream - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
RESET_STREAM frames to send.
resetStream(StreamId, long) - Method in class io.github.mahmoudimus.quic.connection.Connection
Abandons a stream's sending side with RESET_STREAM.
ResetStream(long, long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
A RESET_STREAM frame.
resetToken() - Method in record class io.github.mahmoudimus.quic.connection.IssuedCid
Returns the value of the resetToken record component.
resetToken() - Method in record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Returns the value of the resetToken record component.
resetToken() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Returns the value of the resetToken record component.
resetToken(ConnectionId) - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
The reset token of one of our IDs.
ResetToken(InetSocketAddress, StatelessResetToken) - Constructor for record class io.github.mahmoudimus.quic.connection.EndpointEvent.ResetToken
Creates an instance of a ResetToken record class.
Resolution(List<InetAddress>, boolean) - Constructor for record class org.microproxy.dns.DnssecHostResolver.Resolution
Creates an instance of a Resolution record class.
resolve(String, int) - Method in class org.microproxy.DefaultHostResolver
 
resolve(String, int) - Method in class org.microproxy.dns.DnssecHostResolver
 
resolve(String, int) - Method in interface org.microproxy.HostResolver
Resolves a host name and associates it with the requested port.
resolveBeforeProxyToServerRequest() - Method in class org.microproxy.ProtocolPolicy
Whether the server's name is resolved before HttpFilters.proxyToServerRequest(org.microproxy.http.HttpObject) runs, so that a name that does not resolve is answered 502 without that hook being called (as LittleProxy does), rather than after it, so that the hook can answer or redirect the request without a DNS lookup (MicroProxy's default).
resolveBeforeProxyToServerRequest(boolean) - Method in class org.microproxy.Http1PolicyBuilder
 
resolveBeforeProxyToServerRequest(boolean) - Method in class org.microproxy.ProtocolPolicy.Builder
resolver(String) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
Where to send queries, as a DNS-over-HTTPS URL (https://cloudflare-dns.com/dns-query) or a comma-separated list of resolver addresses (9.9.9.9,149.112.112.112:53).
resolveWith(Function<String, InetSocketAddress>) - Method in class org.microproxy.HttpFiltersBuilder
Chooses the server address for host:port; null resolves as usual.
resourceAttribute(String, String) - Method in class org.microproxy.otel.Telemetry.Builder
A resource attribute (OTEL_RESOURCE_ATTRIBUTES), besides service.*, host.name, process.* and telemetry.sdk.*, which it may override.
ResourceRecord(String, int, int, long, byte[]) - Constructor for record class org.microproxy.dns.DnsMessage.ResourceRecord
Checks the name and the RDATA's length.
respond(String, HttpRequest, FlowContext) - Method in interface org.microproxy.extras.ConcurrencyLimiter.Responder
Creates the HTTP response for a refused request.
respond(HttpRequest, ProxyFailure) - Method in interface org.microproxy.FailureResponder
Returns the response for failure, or null for the proxy's default.
response() - Method in interface org.microproxy.extras.FlowFilter.Flow
Returns the response, or null before there is one.
response() - Method in class org.microproxy.FlowRecord
Returns the response head the client got (or that a SOCKS or transparent client's tunnel was answered with), or null.
response(ConcurrencyLimiter.Responder) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Answers refused requests instead of the default plain-text 429.
response(HttpResponse, ResponseSource) - Method in class org.microproxy.FlowRecord.Builder
Sets the response the client got, and where it came from.
Response(ByteBuffer) - Constructor for record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Response
Creates an instance of a Response record class.
RESPONSE - Enum constant in enum class org.microproxy.HttpFiltersBuilder.Body
Response body pieces (HttpFiltersBuilder.onResponseBody).
RESPONSE_FROM_CACHE_FILTER - Enum constant in enum class org.microproxy.ResponseFlag
RFCF: served by a cache filter.
responseBody() - Method in interface org.microproxy.extras.FlowFilter.Flow
Returns the decoded response body, or null if it is not available.
responseBody() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the responseBody record component.
responseBufferSizeInBytes(HttpResponse) - Method in interface org.microproxy.HttpFilters
Asks for this response to be buffered, after seeing its head: return a positive size to receive the head and body as one FullHttpResponse in HttpFilters.serverToProxyResponse(org.microproxy.http.HttpObject), or 0 to stream.
responseBufferSizeInBytes(HttpResponse) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
responseBufferSizeInBytes(HttpResponse) - Method in class org.microproxy.HttpFiltersChain.Chained
 
responseCode() - Method in class org.microproxy.FlowRecord
Returns the status of the response the client got, or 0 when it got none.
responseCodeDetails() - Method in class org.microproxy.FlowContext
A short snake_case reason for the response of the exchange in progress on this connection (or the last one), as Envoy's %RESPONSE_CODE_DETAILS% gives: via_upstream for the server's response, filter, cache or replay for one made there, proxy_failure:connect_failed (and so on, one per ProxyFailure) for the proxy's answer to a failure, auth_rejected, too_early, downstream_remote_disconnect, ...
responseCodeDetails() - Method in class org.microproxy.FlowRecord
Returns the response code details (see FlowContext.responseCodeDetails()), or null.
responseCompleted(FlowContext, HttpResponse) - Method in interface org.microproxy.ActivityTracker
Called when the whole response to a request, body included, has been written to the client (for a CONNECT or a protocol upgrade: once the response head has, before the tunnel starts).
responseCompleteNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the responseCompleteNanos record component.
responseFlag(ResponseFlag...) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes records with any of flags, or with any flag at all when none is given.
ResponseFlag - Enum Class in org.microproxy
Why an exchange or a flow ended the way it did, in the vocabulary of Envoy's access-log response flags: each constant has Envoy's short code (UF, UT, ...) and long name, so logs read by tools made for Envoy keep their meaning.
responseFlags() - Method in class org.microproxy.FlowContext
Envoy-style flags saying why the exchange in progress on this connection (or the last one), or the tunnel or flow it opened, ended as it did (UF for a refused connection, DC for a client that left, ...).
responseFlags() - Method in class org.microproxy.FlowRecord
Returns the response flags (see FlowContext.responseFlags()), unmodifiable.
responseHeader(String) - Method in record class org.microproxy.extras.RecordedExchange
The first value of a response header, without regard to case.
responseHeaders() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the responseHeaders record component.
ResponseHeaders - Record Class in io.github.mahmoudimus.http2
A validated HTTP/2 response header section, as Http2Headers.toResponse(int, java.util.List<io.github.mahmoudimus.http2.HeaderField>) produces it.
ResponseHeaders - Record Class in io.github.mahmoudimus.http3
A validated HTTP/3 response header section, as Http3Headers.toResponse(long, java.util.List<io.github.mahmoudimus.http3.HeaderField>) produces it.
ResponseHeaders(int, List<HeaderField>, long) - Constructor for record class io.github.mahmoudimus.http2.ResponseHeaders
Creates response headers and takes an immutable copy of the regular fields.
ResponseHeaders(int, List<HeaderField>, long) - Constructor for record class io.github.mahmoudimus.http3.ResponseHeaders
Creates a response header section.
responseReceivedFromServer(FullFlowContext, HttpResponse) - Method in interface org.microproxy.ActivityTracker
Called when a response head arrives from the server.
responseSentToClient(FlowContext, HttpResponse) - Method in interface org.microproxy.ActivityTracker
Called when a response head is sent to the client.
responseSentToClient(FlowContext, HttpResponse, ResponseSource) - Method in interface org.microproxy.ActivityTracker
Called when a response head has been sent to the client, with where the response came from.
responseSource() - Method in class org.microproxy.FlowContext
Where the response of the exchange in progress on this connection came from: inside HttpFilters.serverToProxyResponse(org.microproxy.http.HttpObject) and HttpFilters.proxyToClientResponse(org.microproxy.http.HttpObject), the source of the response the hook is handed (ResponseSource.SERVER for the server's, ResponseSource.PROXY for the proxy's own answers, such as its error responses and a CONNECT's 200, ResponseSource.FILTER for a short-circuit response or a HttpFilters.proxyToServerFailure(org.microproxy.ProxyFailure) answer, ResponseSource.CACHE and ResponseSource.REPLAY); once the response is sent, where the response the client got came from, as HttpFilters.proxyToClientResponseSent(org.microproxy.http.HttpResponse, org.microproxy.ResponseSource) and trackers are told.
ResponseSource - Enum Class in org.microproxy
responseTime() - Method in class org.microproxy.cache.CachedResponse
Returns when the response was received, in epoch milliseconds.
restrictAcceptEncoding(HttpRequest) - Static method in class org.microproxy.http.HttpBodies
Removes content codings this class cannot decode (e.g.
Result(String, List<Tag>) - Constructor for record class org.microproxy.stats.TagExtractor.Result
Copies the tags.
Result(List<Integer>) - Constructor for record class org.microproxy.extras.ClientReplay.Result
Copies the statuses.
resume(long) - Method in class io.github.mahmoudimus.http3.QpackDecoder
Decodes the blocked field section of a stream that QpackDecoder.onEncoderStream(byte[]) reported as ready.
RETIRE_CONNECTION_ID - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
RETIRE_CONNECTION_ID (0x19).
retireCids - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Sequence numbers to retire in RETIRE_CONNECTION_ID frames.
retireCids(long, long) - Method in class io.github.mahmoudimus.quic.connection.Retransmits
Queues RETIRE_CONNECTION_ID frames for a range of sequence numbers.
RetireConnectionId(long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
A RETIRE_CONNECTION_ID frame.
retired() - Method in record class io.github.mahmoudimus.quic.connection.LocalCidState.Retirement
Returns the value of the retired record component.
Retired(long, long, StatelessResetToken) - Constructor for record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Creates an instance of a Retired record class.
RETIRED - Enum constant in enum class io.github.mahmoudimus.quic.connection.RemoteCidQueue.InsertError
The ID was already retired.
Retirement(ConnectionId, boolean) - Constructor for record class io.github.mahmoudimus.quic.connection.LocalCidState.Retirement
Creates an instance of a Retirement record class.
retirePriorTo() - Method in class io.github.mahmoudimus.quic.connection.LocalCidState
The Retire Prior To value for NEW_CONNECTION_ID frames.
retirePriorTo() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Returns the value of the retirePriorTo record component.
retransmit(long, long) - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Queues a sent but unacknowledged range to be sent again.
retransmit(StreamMeta) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Queues a lost STREAM frame's data to be sent again.
retransmitAfterZeroRttRejected(TransportParameters) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
After the server rejected 0-RTT: if what the local streams used fits the server's actual limits, takes those limits and queues everything written to be sent again in 1-RTT packets, so the streams carry on as if the early data had been lost; otherwise forgets the local streams, as quinn does (StreamsState.zeroRttRejected()).
retransmitAllForZeroRtt() - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Marks everything unsent again, after the server rejected 0-RTT data.
retransmitAllForZeroRtt() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Queues everything written on local streams to be sent again after 0-RTT was rejected.
retransmits() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The control frames the packet carried.
Retransmits - Class in io.github.mahmoudimus.quic.connection
Control frames waiting to be sent in one packet number space, and, attached to a SentPacket, the control frames that packet carried, to queue again if it is lost.
Retransmits() - Constructor for class io.github.mahmoudimus.quic.connection.Retransmits
Nothing pending.
Retransmits.PendingReset - Record Class in io.github.mahmoudimus.quic.connection
A RESET_STREAM to send.
retriesSent() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Retry packets sent, to validate clients' addresses.
retriesSent() - Method in record class io.github.mahmoudimus.quic.EndpointStats
Returns the value of the retriesSent record component.
retry() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
Whether clients must prove their address with a Retry round trip before a connection is created (RFC 9000 section 8.1.2).
retry() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the retry record component.
retry() - Method in class org.microproxy.Http3Options
Returns whether the HTTP/3 listeners validate client addresses with a QUIC Retry first.
retry(boolean) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
Turns Retry-based address validation on or off (off by default).
retry(boolean) - Method in class org.microproxy.Http3Options.Builder
Whether the HTTP/3 listener answers a client's first packet with a QUIC Retry, so that only clients that can receive at their address cost it a handshake (default off: it costs every client a round trip).
retry(int, Duration, Duration) - Method in class org.microproxy.otel.Telemetry.Builder
How failed exports are retried: attempts in all (5 by default), and the backoff between them, growing by half each time from initial (1 s) up to max (5 s), with jitter, and never shorter than a Retry-After.
Retry(QuicVersion, ConnectionId, ConnectionId, byte[], byte[]) - Constructor for record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
A Retry packet.
Retry(InetSocketAddress, ConnectionId, Instant) - Constructor for record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
A Retry payload.
RETRY - Enum constant in enum class io.github.mahmoudimus.quic.packet.PacketType
Retry (long header), unprotected except for its integrity tag.
retryAfter(Duration) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
The Retry-After of the default 429, rounded up to seconds; null for none.
retryBackoff(RetryBackoff) - Method in class org.microproxy.HttpFiltersBuilder
The backoff between these requests' attempts at the routes the ChainedProxyManager offered, instead of the server's (see HttpFilters.chainedProxyRetryBackoff()); RetryBackoff.none() retries at once.
RetryBackoff - Class in org.microproxy
How long the proxy waits before trying the next route after a connection attempt failed: the next chained proxy, or the direct fallback, that the ChainedProxyManager offered.
RetryIntegrity - Class in io.github.mahmoudimus.quic.crypto
The Retry Integrity Tag (RFC 9001 section 5.8, RFC 9369 section 3.3.3): AES-128-GCM with a fixed per-version key and nonce over the Retry pseudo-packet, which is the original Destination Connection ID (with its length byte) followed by the Retry packet without its tag.
retryIntegrityKey() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The fixed AES-128-GCM key of the Retry integrity tag (RFC 9001 section 5.8).
retryIntegrityNonce() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The fixed nonce of the Retry integrity tag (RFC 9001 section 5.8).
retrySourceConnectionId() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the retrySourceConnectionId record component.
retrySourceConnectionId(ConnectionId) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets retry_source_connection_id.
retrySourceId() - Method in record class io.github.mahmoudimus.quic.token.IncomingToken
Returns the value of the retrySourceId record component.
retryToken(InetSocketAddress, ConnectionId) - Method in class io.github.mahmoudimus.quic.token.TokenValidator
A token for a Retry packet.
retryTokenLifetime(Duration) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
How long a Retry token stays valid.
returnCount() - Method in record class org.microproxy.PoolMetrics
Returns the value of the returnCount record component.
reuse(boolean) - Method in class org.microproxy.extras.ServerReplay.Builder
Keeps answering with a recording rather than using it up (default false: each answers once).
revalidations() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns the value of the revalidations record component.
ReverseProxyMode - Record Class in org.microproxy
Reverse proxy mode: every request on the listener goes to one fixed upstream server, whatever its target, as a server of its own rather than a forward proxy.
ReverseProxyMode(String, String, int) - Constructor for record class org.microproxy.ReverseProxyMode
Checks the components.
REVOCATION_STATUS_UNKNOWN - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
Revocation checking was required, but no CRL or OCSP response could tell.
RewriteRules - Class in org.microproxy.extras
Declarative request/response rewriting: an ordered list of RewriteRules.Rules, each matching URLs by regular expression and editing headers and textual response bodies.
RewriteRules.Builder - Class in org.microproxy.extras
Builds RewriteRules.
RewriteRules.Rule - Class in org.microproxy.extras
One rewrite rule: a URL pattern plus edits.
rname() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the rname record component.
ROOT_TRUST_ANCHORS - Static variable in class org.microproxy.dns.DnssecHostResolver
IANA root zone trust anchors (https://data.iana.org/root-anchors/root-anchors.xml).
roundCount() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
The round trips counted so far.
RSA_PKCS1_SHA256 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
RSASSA-PKCS1-v1_5 with SHA-256: certificate signatures only.
RSA_PKCS1_SHA384 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
RSASSA-PKCS1-v1_5 with SHA-384: certificate signatures only.
RSA_PKCS1_SHA512 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
RSASSA-PKCS1-v1_5 with SHA-512: certificate signatures only.
RSA_PSS_RSAE_SHA256 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
RSASSA-PSS with SHA-256, for an rsaEncryption key.
RSA_PSS_RSAE_SHA384 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
RSASSA-PSS with SHA-384, for an rsaEncryption key.
RSA_PSS_RSAE_SHA512 - Enum constant in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
RSASSA-PSS with SHA-512, for an rsaEncryption key.
RST_STREAM - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for stream termination.
RstStream(int, int) - Constructor for record class io.github.mahmoudimus.http2.Frame.RstStream
Creates RST_STREAM for a nonzero stream.
RstStream(int, long) - Constructor for record class org.microproxy.frames.Http2Frame.RstStream
Creates RST_STREAM.
RstStream(int, ErrorCode) - Constructor for record class io.github.mahmoudimus.http2.Frame.RstStream
Creates a frame with the given error code.
rsv() - Method in class org.microproxy.http.WebSocketFrame
The RSV1-3 bits (bit 2 = RSV1, used by permessage-deflate).
rtt() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns the value of the rtt record component.
rtt() - Method in class io.github.mahmoudimus.quic.connection.Connection
The smoothed RTT.
rtt() - Method in class io.github.mahmoudimus.quic.connection.Recovery
The RTT estimator.
rtt() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the rtt record component.
RttEstimator - Class in io.github.mahmoudimus.quic.congestion
Round-trip time estimation for one network path (RFC 9002 section 5): the latest sample, the smoothed RTT and its variance (RFC 6298), and the minimum RTT.
RttEstimator(long) - Constructor for class io.github.mahmoudimus.quic.congestion.RttEstimator
An estimator with no samples.
RttEstimator(RttEstimator) - Constructor for class io.github.mahmoudimus.quic.congestion.RttEstimator
A copy of another estimator.
rttVariance() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the rttVariance record component.
Rule(String, Pattern) - Constructor for record class org.microproxy.stats.TagExtractor.Rule
Checks the rule.
Rule(FlowFilter, int) - Constructor for record class org.microproxy.extras.BlockList.Rule
Checks the parts.
Rule(FlowFilter, Pattern, String) - Constructor for record class org.microproxy.extras.MapRemote.Rule
Checks that every part is present.
Rule(FlowFilter, Pattern, Path) - Constructor for record class org.microproxy.extras.MapLocal.Rule
Checks that every part is present.
rules() - Method in class org.microproxy.extras.BlockList
Returns the rules, in order.
rules() - Method in class org.microproxy.extras.MapLocal
Returns the rules, in order.
rules() - Method in class org.microproxy.extras.MapRemote
Returns the rules, in order.
rules() - Method in class org.microproxy.extras.ModifyBody
Returns the rules, in order.
rules() - Method in class org.microproxy.extras.ModifyHeaders
Returns the rules, in order.
rules() - Method in class org.microproxy.quic.QuicFraming
Returns the rules, key to framer name, in lower case and in the order given.
rules() - Method in class org.microproxy.stats.TagExtractor
Returns the rules, in the order they run.
runtime(double) - Static method in interface org.microproxy.extras.AccessLogFilter
Passes percent percent of records, as Envoy's runtime filter does: chosen by the request's X-Request-ID when it has one (so every log samples the same requests), else at random.
rxPacket() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The highest packet number received.

S

sample(long) - Method in class io.github.mahmoudimus.quic.connection.DeliveryRate
Ends an ACK: the sample of the packets it acknowledged.
sample(Sequence<?>, StarlarkInt, StarlarkThread) - Method in class org.microproxy.starlark.stdlib.RandomModule
Samples sequence positions without replacement.
SAMPLE_LENGTH - Static variable in class io.github.mahmoudimus.quic.crypto.HeaderKey
The sample length for every QUIC header protection algorithm, in bytes.
SAMPLED - Static variable in record class org.microproxy.otel.SpanContext
The sampled trace flag.
sampleOffset() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The index of the header protection sample: four bytes past the start of the packet number.
sampler(Sampler) - Method in class org.microproxy.otel.Telemetry.Builder
The sampler; parentbased_always_on by default.
Sampler - Interface in org.microproxy.otel
Decides whether a new trace, or the proxy's part of a trace that came with the request, is sampled: recorded and exported.
sanitize(String) - Static method in class org.microproxy.stats.TagExtractor
value made fit to be one element of a flat name: every character other than a letter, digit, _ or - becomes _, so that it has no dots.
save(Path) - Method in class org.microproxy.extras.HarRecorder
Writes the entries recorded so far to target as a complete HAR file, replacing it atomically.
save(Path, char[]) - Method in class org.microproxy.tls.CertificateAuthority
Saves key and certificate as PKCS#12.
scalar() - Static method in class org.microproxy.simd.Simd
Returns the scalar implementation, always available.
schema() - Method in class org.microproxy.contentviews.ContentViews
Returns the schema the protobuf and gRPC views decode with.
scheme() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns the value of the scheme record component.
scheme() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns the value of the scheme record component.
scheme() - Method in record class org.microproxy.ReverseProxyMode
Returns the value of the scheme record component.
scope(String, int) - Method in class org.microproxy.stats.StatsRegistry
The scope of metrics named prefix.<name>, which makes at most maxStats of them: for metrics whose names come from outside, such as scripts'.
script() - Method in class org.microproxy.starlark.ScriptedProxy
The script in use, re-reading the file first if it changed.
ScriptCallObserver - Interface in org.microproxy
Sees every call into a script's hooks (with the optional Starlark module): when it starts, and how it ended, with the interpreter steps it ran, about how many bytes of values it created, how long it took and why it failed.
ScriptClientHello - Class in org.microproxy.starlark
A client's TLS ClientHello, as on_client_hello and ctx.client_hello see it: a read-only view of a ClientHello.
ScriptContext - Class in org.microproxy.starlark
Per-request context: who the client is, vars, a dict that lives as long as the request so on_request can leave notes for on_response, timings, a snapshot of the exchange's timings taken when it is read, client_hello, the TLS ClientHello that started the client's intercepted session (None before it is read, and for plain HTTP), forwarded_via, the session's server that the request is forwarded through as the client's proxy (host:port: an intercepted HTTPS proxy, or an HTTP proxy whose session is plain HTTP), or None, socks_version, the SOCKS version the client reached the proxy with (5, or 4 for SOCKS4 and 4a), or None for an HTTP client, transparent_quic, whether the client's QUIC came to the transparent QUIC listener, and script_stats, what the calls into scripts for the exchange added up to so far (calls, time, interpreter steps and bytes of values created; see ScriptUsageValue), early_data, whether the HTTP/3 request arrived as 0-RTT early data, which may be a replay: a hook may answer it 425 (Too Early) for its client to send again after the handshake, protocol, the protocol the client speaks to the proxy ("http1", "http2" or "http3", whose protocol policy applies), or None where the hook gets no flow.
ScriptedProxy - Class in org.microproxy.starlark
Drives the proxy from a Starlark script.
ScriptedProxy.Builder - Class in org.microproxy.starlark
Options for ScriptedProxy.
ScriptException - Exception Class in org.microproxy.starlark
A Starlark script failed to parse, compile or run its top-level statements.
ScriptException(String) - Constructor for exception class org.microproxy.starlark.ScriptException
Describes a script failure without an underlying exception.
ScriptException(String, Throwable) - Constructor for exception class org.microproxy.starlark.ScriptException
Describes a script failure and preserves its underlying exception.
ScriptFailure - Class in org.microproxy.starlark
Why the proxy has to answer a request itself, as on_failure sees it: a read-only view of a ProxyFailure.
ScriptFrame - Class in org.microproxy.starlark
A WebSocket frame as on_websocket_frame sees it.
ScriptFrameContext - Class in org.microproxy.starlark
Where a frame on_frame sees travels: the protocol, the client connection and stream, the client and the server.
ScriptHeaders - Class in org.microproxy.starlark
The headers of a request or response, or the header block of an HTTP/2 or HTTP/3 frame.
ScriptHttpFrame - Class in org.microproxy.starlark
An HTTP/2 or HTTP/3 frame as on_frame sees it, or as h2.data(...) and the like make it.
ScriptQuicContext - Class in org.microproxy.starlark
An intercepted QUIC connection, or one of its streams, as on_quic_start, on_quic_stream_data, on_quic_message, on_quic_datagram and on_quic_end see it: the client, the server (host, port, server, and address, where the proxy connected to), the sni and alpn both sides use, whether the QUIC came inside a CONNECT-UDP flow (masque), vars, a dict that lives as long as the connection (its streams share it), and error, why the connection failed (None until then, and for one that ended normally).
ScriptQuicMessage - Class in org.microproxy.starlark
Bytes of an intercepted QUIC connection, as on_quic_stream_data (bytes read from one side of a stream), on_quic_message (one whole message of a framed stream, without its length prefix or delimiter) and on_quic_datagram (one datagram) see them: data, text (None when the bytes are not valid UTF-8, as a character split between two reads is not), from_client, stream_id (on the client's connection; None for a datagram) and timestamp (seconds since the epoch).
ScriptRequest - Class in org.microproxy.starlark
A request as scripts see it.
ScriptResponse - Class in org.microproxy.starlark
A response as scripts see it: from the server in on_response, or made by response().
scriptStats() - Method in class org.microproxy.FlowContext
What the calls into scripts for the exchange in progress on this connection (or the last one) added up to: how many, how long they took, the interpreter steps they ran and about how many bytes of values they created.
ScriptStats - Class in org.microproxy.starlark
The stats module: a script's own metrics, kept in the proxy's StatsRegistry as script.<name> next to the proxy's (and shown wherever they are: Prometheus, statsd).
ScriptStats.ScriptCounter - Class in org.microproxy.starlark
A counter of a script.
ScriptStats.ScriptGauge - Class in org.microproxy.starlark
A gauge of a script.
ScriptStats.ScriptHistogram - Class in org.microproxy.starlark
A histogram of a script.
ScriptTcpContext - Class in org.microproxy.starlark
A raw TCP tunnel, as on_tcp_start, on_tcp_message and on_tcp_end see it: the client, the target, whether the proxy decrypted the client's TLS (tls) with its sni and alpn, vars, a dict that lives as long as the tunnel, and error, why the tunnel failed (None until then, and for one that ended normally).
ScriptTcpMessage - Class in org.microproxy.starlark
Bytes read from one side of a raw TCP tunnel, as on_tcp_message sees them: data, text (None when the bytes are not valid UTF-8, as a character split between two messages is not), from_client and timestamp (seconds since the epoch).
ScriptTimings - Class in org.microproxy.starlark
ctx.timings: a read-only snapshot of the exchange's FlowTimings, in milliseconds as floats, each None when that phase has not happened (yet) or did not happen at all.
ScriptTrace - Class in org.microproxy.starlark
The trace module: the distributed trace of the exchange a hook runs for (see microproxy-otel), whose span a script can add attributes and events to: trace.set_attribute("tenant", "acme"), trace.add_event("rule.matched", {"rule": "r1"}).
ScriptUdpContext - Class in org.microproxy.starlark
A UDP flow (CONNECT-UDP), as on_udp_start, on_udp_message and on_udp_end see it: the client, the target (host, port, server, and address, what its name resolved to), and vars, a dict that lives as long as the flow.
ScriptUdpMessage - Class in org.microproxy.starlark
One datagram of a UDP flow (CONNECT-UDP), as on_udp_message sees it: data, text (None when the payload is not valid UTF-8), from_client and timestamp (seconds since the epoch).
ScriptUsage - Class in org.microproxy
What the calls into scripts for one exchange added up to, as FlowContext.scriptStats() gives it: how many calls, how long they took, how many interpreter steps they ran and about how many bytes of values they created (an estimate of what was made, not of what stayed in memory).
ScriptUsageValue - Class in org.microproxy.starlark
ctx.script_stats: what the calls into scripts for the exchange added up to before the call reading it (FlowContext.scriptStats()), read when it is: calls, time_ms (a float), steps and alloc_bytes (an estimate of the bytes of values the calls created, not of what stayed in memory).
ScriptWebSocketMessage - Class in org.microproxy.starlark
A whole WebSocket message as on_websocket_message sees it, or one a script made with websocket_message(...).
seal(long, byte[], int, int, int) - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
Seals a payload held in an array; see PacketKey.seal(long, ByteBuffer, int, int, int).
seal(long, ByteBuffer, int, int, int) - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
Seals a payload in place.
SEC_WEBSOCKET_EXTENSIONS - Static variable in class org.microproxy.http.HttpHeaderNames
The Sec-WebSocket-Extensions header field name.
SEC_WEBSOCKET_KEY - Static variable in class org.microproxy.http.HttpHeaderNames
The Sec-WebSocket-Key header field name.
SECP256R1 - Enum constant in enum class io.github.mahmoudimus.quic.tls.NamedGroup
NIST P-256, secp256r1.
SECP384R1 - Enum constant in enum class io.github.mahmoudimus.quic.tls.NamedGroup
NIST P-384, secp384r1.
Secrets - Record Class in io.github.mahmoudimus.quic
The traffic secrets for one encryption level, as the TLS handshake hands them to packet protection: one secret per direction and the cipher suite they are for.
Secrets(EncryptionLevel, CipherSuite, byte[], byte[]) - Constructor for record class io.github.mahmoudimus.quic.Secrets
Creates an instance of a Secrets record class.
secure() - Method in record class org.microproxy.dns.DnssecHostResolver.Resolution
Returns the value of the secure record component.
secureRandom(SecureRandom) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The source of randomness for hello randoms, key shares and signatures.
sees(HttpFiltersBuilder.Body) - Method in class org.microproxy.HttpFiltersBuilder.Built
Whether these filters inspect body piece by piece.
sees(HttpFiltersBuilder.Body) - Method in interface org.microproxy.SelectiveFilters
Whether these filters inspect stream piece by piece: HttpFiltersBuilder.Body.REQUEST: request body pieces reach clientToProxyRequest and proxyToServerRequest; HttpFiltersBuilder.Body.RESPONSE: response body pieces reach serverToProxyResponse and proxyToClientResponse; HttpFiltersBuilder.Body.WEBSOCKET_FRAMES: frames go through HttpFilters.filterWebSocketFrame(org.microproxy.http.WebSocketFrame, boolean), with permessage-deflate payloads inflated; HttpFiltersBuilder.Body.WEBSOCKET_MESSAGES: frames are joined into messages for HttpFilters.filterWebSocketMessages(org.microproxy.http.WebSocketMessage, boolean), with permessage-deflate payloads inflated; HttpFiltersBuilder.Body.OBSERVED_WEBSOCKET_FRAMES: frames are shown to HttpFilters.webSocketFrameReceived(org.microproxy.http.WebSocketFrame, boolean) and forwarded unchanged.
select(byte[], ContentView.Metadata) - Method in class org.microproxy.contentviews.ContentViews
The view auto mode would try first.
SelectiveFilters - Interface in org.microproxy
Filters that say which streams they inspect piece by piece.
SelfSignedSslContextSource - Class in org.microproxy.tls
An SslContextSource backed by a self-signed certificate generated in memory for localhost, 127.0.0.1 and ::1 (or the names given).
SelfSignedSslContextSource() - Constructor for class org.microproxy.tls.SelfSignedSslContextSource
Creates a TLS context source with a generated self-signed certificate.
SelfSignedSslContextSource(boolean) - Constructor for class org.microproxy.tls.SelfSignedSslContextSource
Creates a TLS context source with a generated self-signed certificate.
SelfSignedSslContextSource(boolean, boolean, String...) - Constructor for class org.microproxy.tls.SelfSignedSslContextSource
Creates a TLS context source with a generated self-signed certificate.
send(boolean, byte[]) - Method in interface org.microproxy.quic.QuicStreamContext
Adds bytes to the stream, as if one side had sent them: with fromClient they go to the server, else to the client.
send(boolean, byte[]) - Method in interface org.microproxy.tcp.TcpContext
Adds bytes to the tunnel, as if one side had sent them: with fromClient they go to the server, else to the client.
send(boolean, byte[]) - Method in interface org.microproxy.udp.UdpContext
Sends a datagram as if one side had sent it: with fromClient it goes to the target, else to the client.
send(int) - Method in class io.github.mahmoudimus.http2.FlowControlWindow
Debits the window for a frame about to be sent.
send(Boolean, Object) - Method in class org.microproxy.starlark.ScriptQuicContext
Adds bytes to the stream as if one side had sent them (see QuicStreamContext.send(boolean, byte[])).
send(Boolean, Object) - Method in class org.microproxy.starlark.ScriptTcpContext
Adds bytes to the tunnel as if one side had sent them (see TcpContext.send(boolean, byte[])).
send(Boolean, Object) - Method in class org.microproxy.starlark.ScriptUdpContext
Adds a datagram to the flow as if one side had sent it (see UdpContext.send(boolean, byte[])).
send(ByteBuffer, InetSocketAddress) - Method in interface io.github.mahmoudimus.quic.QuicServer.DatagramSink
Called for each datagram the server sends, from its connections' threads (several at once) and from threads that hand it datagrams (its answers, such as Version Negotiation): it should not block for long.
send(ByteBuffer, InetSocketAddress) - Method in class io.github.mahmoudimus.quic.QuicServer
Sends a datagram from the server's socket (an unbound server's sink), as its connections do: for replies on behalf of other uses of the port.
send(HttpFrame) - Method in interface org.microproxy.frames.FrameContext
Adds a frame after the one being intercepted, on the same hop and in the same direction: going out, it is sent after the intercepted frame (or what replaced it); coming in, the proxy processes it as if the peer had sent it next.
SEND - Enum constant in enum class io.github.mahmoudimus.quic.connection.SendState
Sending data; the application may still write, or has finished but the FIN is unsent.
sendable(int) - Method in class io.github.mahmoudimus.http2.FlowController
How many flow-controlled octets the stream may send now: the smaller of its and the connection's window.
Sendable(boolean, boolean) - Constructor for record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Creates an instance of a Sendable record class.
SendBuffer - Class in io.github.mahmoudimus.quic.connection
The outgoing data of one stream that is not yet acknowledged: what the application wrote, what has been sent, what was deemed lost and must be sent again, and which ranges the peer has acknowledged.
SendBuffer() - Constructor for class io.github.mahmoudimus.quic.connection.SendBuffer
An empty buffer at offset zero.
SendBuffer.Transmit - Record Class in io.github.mahmoudimus.quic.connection
The range SendBuffer.pollTransmit(int) chose to send next.
sendDatagram(boolean, byte[]) - Method in interface org.microproxy.quic.QuicContext
Sends a datagram as if one side had sent it: with fromClient it goes to the server, else to the client.
sendDatagram(byte[]) - Method in class io.github.mahmoudimus.quic.QuicConnection
Sends an unreliable datagram (RFC 9221).
sendDatagram(Boolean, Object) - Method in class org.microproxy.starlark.ScriptQuicContext
Sends a datagram as if one side had sent it (see QuicContext.sendDatagram(boolean, byte[])).
sendDatagram(ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Connection
Queues an unreliable datagram (RFC 9221).
sendFairness(boolean) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
Whether streams of equal priority share packets round-robin (true, the default) or one finishes before the next starts.
sendingEcn() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Whether ECN-marked packets are being sent; an ACK without ECN counts or with invalid ones turns it off.
sendState(StreamId) - Method in class io.github.mahmoudimus.quic.connection.Connection
The state of a stream's sending side.
sendState(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
The state of a stream's sending part.
SendState - Enum Class in io.github.mahmoudimus.quic.connection
The states of the sending part of a stream (RFC 9000 section 3.1, figure 2).
sendStreams() - Method in class io.github.mahmoudimus.quic.connection.Connection
The number of streams with unacknowledged outgoing data.
sendStreams() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
The number of streams that may have unacknowledged outgoing data.
sendWindow() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The most outgoing stream data buffered, unacknowledged, per connection.
sendWindow(long) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The most outgoing stream data to buffer until it is acknowledged.
sensitive() - Method in record class io.github.mahmoudimus.http2.HeaderField
Returns the value of the sensitive record component.
sensitive() - Method in record class io.github.mahmoudimus.http3.HeaderField
Returns the value of the sensitive record component.
sensitive() - Method in record class org.microproxy.frames.Field
Returns the value of the sensitive record component.
SENSITIVE_NAMES - Static variable in class io.github.mahmoudimus.http2.HpackEncoder
Names whose fields are sent never-indexed by default: they carry credentials.
SENSITIVE_NAMES - Static variable in class io.github.mahmoudimus.http3.QpackEncoder
Names whose fields are sent never-indexed by default: they carry credentials.
sent() - Method in record class org.microproxy.extras.ClientReplay.Result
Returns how many requests were sent.
sent(long, SentPacket) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Tracks a sent packet.
sentBytes() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Bytes of datagrams sent, as UDP payloads, on every path.
sentBytes() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the sentBytes record component.
SentPacket - Class in io.github.mahmoudimus.quic.connection
What loss recovery remembers about a sent packet until it is acknowledged or deemed lost (RFC 9002 appendix A.1.1).
SentPacket(long, int, boolean, long, Retransmits, List<StreamMeta>) - Constructor for class io.github.mahmoudimus.quic.connection.SentPacket
A sent packet.
sentPackets() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
The packets sent and not yet acknowledged or lost.
sentPackets() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Packets sent.
sentPackets() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the sentPackets record component.
SentPackets - Class in io.github.mahmoudimus.quic.connection
The sent packets of one packet number space that are neither acknowledged nor lost, by packet number.
SentPackets() - Constructor for class io.github.mahmoudimus.quic.connection.SentPackets
No packets.
sequence() - Method in record class io.github.mahmoudimus.quic.connection.IssuedCid
Returns the value of the sequence record component.
sequence() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Returns the value of the sequence record component.
sequence() - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
Returns the value of the sequence record component.
sequenceNumber() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Returns the value of the sequenceNumber record component.
serial() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns the value of the serial record component.
servePlainHttpAfterConnect() - Method in class org.microproxy.ProtocolPolicy
Whether plain HTTP that a client sends after a CONNECT that could be intercepted (a ws:// WebSocket through the proxy, say) is served as HTTP, its requests going through the filters to the CONNECT's target (MicroProxy's default), rather than relayed to the target as raw bytes (as LittleProxy does).
servePlainHttpAfterConnect(boolean) - Method in class org.microproxy.Http1PolicyBuilder
 
servePlainHttpAfterConnect(boolean) - Method in class org.microproxy.ProtocolPolicy.Builder
server() - Method in record class io.github.mahmoudimus.quic.Secrets
Returns the value of the server record component.
server() - Method in interface org.microproxy.frames.FrameContext
The server's host:port for frames to and from a server, null on the client side.
server(TlsConfig, byte[]) - Static method in class io.github.mahmoudimus.quic.tls.TlsSession
Starts a server handshake, which waits for a ClientHello.
server(TlsConfig, byte[], Predicate<byte[]>) - Static method in class io.github.mahmoudimus.quic.tls.TlsSession
Starts a server handshake with a check on the QUIC transport parameters a ticket remembers.
server(String) - Method in class org.microproxy.frames.Http3FramePipeline.Builder
The server (host:port) the interceptor is told; default none.
SERVER - Enum constant in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Role
The server, which answers them.
SERVER - Enum constant in enum class io.github.mahmoudimus.quic.connection.Side
The endpoint that accepted the connection.
SERVER - Enum constant in enum class org.microproxy.ResponseSource
The server's response, relayed.
SERVER_ADDRESS - Enum constant in enum class org.microproxy.ProxyProtocolDestination
The remote address of the proxy's connection to the server (or the chained proxy whose tunnel carries the header), and no header at all when that address and the client's are of different address families (IPv4 and IPv6), as LittleProxy does (ProxyToServerConnection.SendProxyProtocolHeader).
serverAddress() - Method in interface org.microproxy.quic.QuicContext
The address the proxy's QUIC connection to the server is connected to.
ServerConfig - Class in io.github.mahmoudimus.quic.connection
How a server accepts connections: its TLS configuration (certificates, possibly selected per SNI, ALPN, session tickets and 0-RTT), the transport settings, Retry-based address validation, the NEW_TOKEN tokens that let returning clients skip the Retry, the connection cap, whether clients may migrate, and a preferred address.
ServerConfig.Builder - Class in io.github.mahmoudimus.quic.connection
Builds a ServerConfig.
serverConnected(FullFlowContext, InetSocketAddress) - Method in interface org.microproxy.ActivityTracker
Called when the proxy connects to a server.
serverConnectionExceptionCaught(FullFlowContext, Throwable) - Method in interface org.microproxy.ActivityTracker
Called once for each failure on the server side of a flow: a failed connection attempt (unresolved name, refused or timed-out connect, failed TLS handshake, a chained proxy that refused; with several chained proxies, once per proxy tried), a server that timed out or answered badly, or an unexpected exception while a server connection was in use (also reported to ActivityTracker.connectionExceptionCaught(org.microproxy.FlowContext, java.lang.Throwable), as the client connection closes too).
ServerConnectionPoolType - Enum Class in org.microproxy
Implementations of the shared server connection pool.
serverContext(String...) - Method in class org.microproxy.tls.CertificateAuthority
A server-side SSLContext presenting a fresh certificate for names.
serverDisconnected(FullFlowContext, InetSocketAddress) - Method in interface org.microproxy.ActivityTracker
Called when the server connection closes.
serverName() - Method in class io.github.mahmoudimus.quic.connection.Connection
The server name: the one a client connects to, or the client's SNI on a server.
serverName() - Method in class io.github.mahmoudimus.quic.QuicConnection
The server name: the one a client connected to, or the client's SNI on a server.
serverName() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns the value of the serverName record component.
serverName() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns the value of the serverName record component.
serverName() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
The server name the ticket is for, as the client sent it in SNI.
serverName() - Method in class io.github.mahmoudimus.quic.tls.TlsConfig
Client: the server name to connect to when none is given.
serverName() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
The server name: for a client, the one it connects to; for a server, the client's SNI.
serverName() - Method in record class org.microproxy.TlsServerIdentity
Returns the value of the serverName record component.
serverName(String) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Client: the server's host name or IP address.
ServerReplay - Class in org.microproxy.extras
Answers requests from recorded responses instead of contacting servers, as mitmproxy's server_replay.
ServerReplay.Builder - Class in org.microproxy.extras
Configures a ServerReplay.
ServerReplay.Extra - Record Class in org.microproxy.extras
What happens to requests without a recording, as mitmproxy's server_replay_extra.
ServerReplay.Replayed - Class in org.microproxy.extras
A response answered from a recording, which the proxy reports as ResponseSource.REPLAY.
servers(List<InetSocketAddress>) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
Recursive resolvers to query; they must pass DNSSEC records through.
serverSslContext(String, int) - Method in interface org.microproxy.MitmManager
TLS configuration for the proxy's connection to the real server (proxy is TLS client).
serverSslContext(String, int) - Method in class org.microproxy.tls.CertificateAuthorityMitmManager
 
serverSslContext(String, int, FlowContext) - Method in interface org.microproxy.MitmManager
TLS configuration for the proxy's connection to the real server, for the client connection flow: the trust store servers are validated against, and the key the proxy authenticates with when a server asks for a client certificate.
ServerState - Enum Class in org.microproxy
Where a proxy is in its life (HttpProxyServer.state()), with the names Envoy's admin /ready answers and the numbers its server.state gauge shows.
serverStreamId() - Method in interface org.microproxy.quic.QuicStreamContext
The stream's ID on the proxy's connection to the server.
serverStreaming() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the value of the serverStreaming record component.
serverTicketAge() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns the value of the serverTicketAge record component.
ServerTimeout(String, IOException) - Constructor for record class org.microproxy.ProxyFailure.ServerTimeout
Creates an instance of a ServerTimeout record class.
serverToProxyResponse(HttpObject) - Method in interface org.microproxy.HttpFilters
Filters responses on their way from the server to the proxy.
serverToProxyResponse(HttpObject) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
serverToProxyResponse(HttpObject) - Method in class org.microproxy.HttpFiltersChain.Chained
 
serverToProxyResponseReceived() - Method in interface org.microproxy.HttpFilters
Called when the server has finished sending a response.
serverToProxyResponseReceived() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
serverToProxyResponseReceived() - Method in class org.microproxy.HttpFiltersChain.Chained
 
serverToProxyResponseReceiving() - Method in interface org.microproxy.HttpFilters
Called when the server begins sending a response.
serverToProxyResponseReceiving() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
serverToProxyResponseReceiving() - Method in class org.microproxy.HttpFiltersChain.Chained
 
serverToProxyResponseTimedOut() - Method in interface org.microproxy.HttpFilters
Called when the server did not respond within the idle timeout.
serverToProxyResponseTimedOut() - Method in class org.microproxy.HttpFiltersBuilder.Built
 
serverToProxyResponseTimedOut() - Method in class org.microproxy.HttpFiltersChain.Chained
 
serverTrustManager(String, int, FlowContext) - Method in interface org.microproxy.MitmManager
How servers are validated where the proxy's TLS is not the JDK's: on QUIC connections to HTTP/3 servers (HttpProxyServerBootstrap.withHttp3Upstream(boolean)).
serveStaleOnError(boolean) - Method in class org.microproxy.cache.HttpCache.Builder
Serve stale entries when servers cannot be reached (default true).
service() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns the value of the service record component.
SERVICE_UNAVAILABLE - Static variable in record class org.microproxy.http.HttpResponseStatus
 
serviceName(String) - Method in class org.microproxy.otel.Telemetry.Builder
service.name (OTEL_SERVICE_NAME); microproxy by default.
sessionCache() - Method in class io.github.mahmoudimus.quic.connection.ClientConfig
The cache of session tickets and tokens connections use.
sessionCache() - Method in class io.github.mahmoudimus.quic.QuicClient
The cache of session tickets and tokens connections use by default.
sessionCache(SessionCache) - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
The cache of session tickets and NEW_TOKEN tokens: resumption, 0-RTT (with TlsConfig.Builder.earlyData(boolean)) and Retry-free reconnection.
SessionCache - Record Class in io.github.mahmoudimus.quic.connection
What a client remembers about servers between connections: TLS session tickets, for resumption and 0-RTT (each ticket also carries the server's transport parameters, which 0-RTT data must keep within), and NEW_TOKEN tokens, which let a server skip its Retry round trip.
SessionCache(ClientSessionStore, TokenStore) - Constructor for record class io.github.mahmoudimus.quic.connection.SessionCache
A cache.
SessionTicket - Class in io.github.mahmoudimus.quic.tls
A session ticket a client received in a NewSessionTicket message (RFC 8446 section 4.6.1), with what it needs to resume the session: the pre-shared key derived from the resumption master secret, the cipher suite, the ticket age obfuscation, and for 0-RTT the ALPN protocol and the server's QUIC transport parameters, which a client must remember and use for its early data (RFC 9000 section 7.4.1).
sessionTickets(Ticketer) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: the ticketer that seals session tickets, which turns on NewSessionTicket and PSK resumption.
set(long) - Method in interface org.microproxy.stats.Gauge
Sets the value.
set(Timer, long) - Method in class io.github.mahmoudimus.quic.connection.TimerTable
Sets a timer.
set(String, Iterable<?>) - Method in class org.microproxy.http.HttpHeaders
Replaces all fields named name with one field per element of values.
set(String, Object) - Method in class org.microproxy.http.HttpHeaders
Replaces all fields named name with a single field, keeping the first position.
set(String, Object) - Method in class org.microproxy.starlark.ScriptHeaders
Replaces all values of a header.
set(String, String) - Method in class org.microproxy.Http1PolicyBuilder
Sets a field by its configuration name, as ProtocolPolicy.Builder.set(java.lang.String, java.lang.String) does, and also allow_chunked_length.
set(String, String) - Method in class org.microproxy.ProtocolPolicy.Builder
Sets a field by its configuration name, as the properties file and the command line name them: preset (ProtocolPolicy.preset(String)), resolve_before_proxy_to_server_request, filter_connect_answer, serve_plain_http_after_connect, proxy_protocol_destination ( local_address or server_address), tls_retry_without_sni and generated_responses (GeneratedResponses.parse(java.lang.String)), mitm_server_handshake (MitmServerHandshake.parse(java.lang.String)), request_head_timeout (milliseconds), and for HTTP/1 allow_chunked_length.
set(HttpHeaders) - Method in class org.microproxy.http.HttpHeaders
Replaces the contents of these headers with other.
set(StarlarkInt) - Method in class org.microproxy.starlark.ScriptStats.ScriptGauge
gauge.set(value).
setAckFrequencyParams(Frame.AckFrequency) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Applies an ACK_FREQUENCY frame's thresholds.
setAddressValidated() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records that the peer's address is validated, lifting the anti-amplification limit.
setAppLimited(boolean) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records whether the application, not the congestion window, limited the last send; ACKs then do not grow the window.
setAttribute(String, Object) - Method in interface org.microproxy.FlowTrace
Adds an attribute to the exchange's span; ignored when it is not sampled.
setAttribute(String, Object) - Method in interface org.microproxy.FlowTrace.Span
Adds an attribute to the span.
setAttribute(String, Object, StarlarkThread) - Method in class org.microproxy.starlark.ScriptTrace
trace.set_attribute(key, value): sets an attribute of the exchange's span.
setCapacity(long) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Sets the dynamic table capacity, emitting a Set Dynamic Table Capacity instruction (§4.3.1).
setClientAddress(InetSocketAddress) - Method in class org.microproxy.ClientDetails
Sets the client socket address.
setConnectTimeout(int) - Method in interface org.microproxy.HttpProxyServer
Sets the timeout for outbound connection attempts.
setContent(byte[]) - Method in class org.microproxy.http.DefaultFullHttpRequest
 
setContent(byte[]) - Method in class org.microproxy.http.DefaultFullHttpResponse
 
setContent(byte[]) - Method in class org.microproxy.http.DefaultHttpContent
 
setContent(byte[]) - Method in class org.microproxy.http.DefaultLastHttpContent
 
setContent(byte[]) - Method in interface org.microproxy.http.FullHttpMessage
 
setContent(byte[]) - Method in interface org.microproxy.http.FullHttpRequest
 
setContent(byte[]) - Method in interface org.microproxy.http.FullHttpResponse
 
setContent(byte[]) - Method in interface org.microproxy.http.HttpContent
Replaces the body bytes of this piece.
setContent(byte[]) - Method in interface org.microproxy.http.LastHttpContent
 
setContentLength(HttpMessage, long) - Static method in class org.microproxy.http.HttpUtil
Sets the Content-Length field to the supplied decimal value.
setDecoded(FullHttpMessage, byte[]) - Static method in class org.microproxy.http.HttpBodies
Replaces the body with decodedBody, re-applying the message's content codings, and removes validators that described the old body.
setDeliverOriginFrames(boolean) - Method in class io.github.mahmoudimus.http2.FrameReader
Return ORIGIN frames (RFC 8336) as Frame.Unknown, for OriginFrame to read, even when other frames of unknown types are skipped.
setDeliverUnknownFrames(boolean) - Method in class io.github.mahmoudimus.http2.FrameReader
Return frames of unknown types as Frame.Unknown instead of skipping them.
setDeliverUnknownFrames(boolean) - Method in class io.github.mahmoudimus.http3.Http3FrameReader
Return frames of unknown and reserved types as Http3Frame.Unknown (the default) or skip them.
setField(String, Object) - Method in class org.microproxy.starlark.ScriptFrame
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptHttpFrame
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptQuicMessage
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptRequest
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptResponse
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptTcpMessage
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptUdpMessage
 
setField(String, Object) - Method in class org.microproxy.starlark.ScriptWebSocketMessage
 
setHandshakeConfirmed(boolean) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Records that the handshake is confirmed (RFC 9001 section 4.1.2); until then the probe timeout ignores the application data space (RFC 9002 section 6.2.1).
setHealthCheckFailed(boolean) - Method in interface org.microproxy.HttpProxyServer
Fails or restores the proxy's health check, as Envoy's admin /healthcheck/fail and /healthcheck/ok do.
setHuffman(boolean) - Method in class io.github.mahmoudimus.http2.HpackEncoder
Whether to Huffman-code strings that do not get longer for it (default true).
setHuffman(boolean) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Whether to Huffman-code strings that do not get longer for it (default true).
setIdleConnectionTimeout(Duration) - Method in interface org.microproxy.HttpProxyServer
Sets the maximum time a connection may remain idle.
setImmediateAckPending(boolean) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Sets whether an IMMEDIATE_ACK must be sent.
setImmediateAckRequired() - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Requires an immediate ACK, as for an IMMEDIATE_ACK frame or an ECN-CE mark.
setIndex(StarlarkSemantics, Object, Object) - Method in class org.microproxy.starlark.ScriptHeaders
 
setKeepAlive(HttpMessage, boolean) - Static method in class org.microproxy.http.HttpUtil
Sets the Connection header so that HttpUtil.isKeepAlive(org.microproxy.http.HttpMessage) returns keepAlive.
setKeyDiscardTimer(long, SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Sets Timer.KEY_DISCARD to three PTOs after a start time, when old keys may go (RFC 9001 sections 4.9.3 and 6.5).
setKeys(Keys) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Installs keys.
setLossDetectionTimer(long) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Arms or stops Timer.LOSS_DETECTION (RFC 9002 appendix A.8).
setMaxAckDelay(long) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Sets our max_ack_delay.
setMaxConcurrent(Dir, long) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Changes how many remote streams of a directionality may be open at once.
setMaxContinuationFrames(int) - Method in class io.github.mahmoudimus.http2.FrameReader
The most CONTINUATION frames accepted in one field block.
setMaxFieldSectionSize(long) - Method in class io.github.mahmoudimus.http3.QpackDecoder
SETTINGS_MAX_FIELD_SECTION_SIZE: the largest decoded field section accepted.
setMaxFramePayloadSize(int) - Method in class io.github.mahmoudimus.http3.Http3FrameReader
The largest payload accepted (and the largest piece a long DATA frame is returned in).
setMaxFrameSize(int) - Method in class io.github.mahmoudimus.http2.FrameReader
The largest frame payload accepted: the SETTINGS_MAX_FRAME_SIZE this endpoint advertised (16384 until the peer acknowledges a larger one).
setMaxFrameSize(int) - Method in class io.github.mahmoudimus.http2.FrameWriter
The largest payload the peer accepts: its SETTINGS_MAX_FRAME_SIZE (16384 until it says otherwise).
setMaxHeaderBlockSize(int) - Method in class io.github.mahmoudimus.http2.FrameReader
The largest encoded field block (HEADERS or PUSH_PROMISE plus CONTINUATION payloads) accepted.
setMaxHeaderListSize(long) - Method in class io.github.mahmoudimus.http2.HpackDecoder
SETTINGS_MAX_HEADER_LIST_SIZE: the largest decoded field section accepted.
setMaxHeaderTableSize(int) - Method in class io.github.mahmoudimus.http2.HpackDecoder
Sets the largest dynamic table the peer's encoder may use: call this when the peer acknowledges a SETTINGS frame that carried SETTINGS_HEADER_TABLE_SIZE.
setMaxHeaderTableSize(long) - Method in class io.github.mahmoudimus.http2.HpackEncoder
Applies the peer's SETTINGS_HEADER_TABLE_SIZE.
setMaxStringLength(int) - Method in class io.github.mahmoudimus.http2.HpackDecoder
The longest name or value accepted, in octets.
setMethod(HttpMethod) - Method in class org.microproxy.http.DefaultHttpRequest
 
setMethod(HttpMethod) - Method in interface org.microproxy.http.HttpRequest
Changes the request method.
setNeverIndexSensitiveNames(boolean) - Method in class io.github.mahmoudimus.http2.HpackEncoder
Whether to send fields named in HpackEncoder.SENSITIVE_NAMES never-indexed (default true).
setNeverIndexSensitiveNames(boolean) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Whether to send fields named in QpackEncoder.SENSITIVE_NAMES never-indexed (default true).
setParams(TransportParameters) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Applies the peer's transport parameters: initial stream and connection limits.
setPeerMaxAckDelay(long) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Sets the peer's max_ack_delay, from its transport parameters.
setPeerParams(TransportParameters) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Applies the peer's transport parameters: its ack_delay_exponent, max_ack_delay and max_udp_payload_size.
setPeerSettings(long, long) - Method in class io.github.mahmoudimus.http3.QpackEncoder
Applies the peer's SETTINGS_QPACK_MAX_TABLE_CAPACITY and SETTINGS_QPACK_BLOCKED_STREAMS.
setPingPending(boolean) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Sets whether a PING must be sent.
setPriority(StreamId, int) - Method in class io.github.mahmoudimus.quic.connection.Connection
Sets a stream's send priority; higher goes first.
setPriority(StreamId, int) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Sets a stream's priority; streams with a higher priority send first.
setProtocolVersion(HttpVersion) - Method in class org.microproxy.http.DefaultFullHttpRequest
 
setProtocolVersion(HttpVersion) - Method in class org.microproxy.http.DefaultFullHttpResponse
 
setProtocolVersion(HttpVersion) - Method in class org.microproxy.http.DefaultHttpRequest
 
setProtocolVersion(HttpVersion) - Method in class org.microproxy.http.DefaultHttpResponse
 
setProtocolVersion(HttpVersion) - Method in interface org.microproxy.http.HttpMessage
Changes the message's protocol version.
setProtocolVersion(HttpVersion) - Method in interface org.microproxy.http.HttpRequest
 
setProtocolVersion(HttpVersion) - Method in interface org.microproxy.http.HttpResponse
 
setReceiveWindow(long) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Changes the connection receive window.
setRequestHeader(String, String) - Method in class org.microproxy.extras.RewriteRules.Rule
Sets a header on matching requests.
setResponseCodeDetails(String) - Method in class org.microproxy.FlowContext
Sets the response code details of the exchange in progress, for a filter that answers for a reason of its own: a short snake_case string, which replaces any details set before.
setResponseHeader(String, String) - Method in class org.microproxy.extras.RewriteRules.Rule
Sets a header on matching responses.
setSendingEcn(boolean) - Method in class io.github.mahmoudimus.quic.connection.Recovery
Sets whether ECN is in use, for a connection that cannot mark packets.
setSendWindow(long) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Changes the send window, the most outgoing data to buffer.
setStatus(HttpResponseStatus) - Method in class org.microproxy.http.DefaultHttpResponse
 
setStatus(HttpResponseStatus) - Method in interface org.microproxy.http.HttpResponse
Changes the response status.
setText(FullHttpMessage, String) - Static method in class org.microproxy.http.HttpBodies
Replaces the body with text in the message's charset (UTF-8 when none is declared).
setThrottle(long, long) - Method in interface org.microproxy.HttpProxyServer
Changes global bandwidth limits for server traffic; 0 means unlimited.
setTimingData(String, Long) - Method in class org.microproxy.FlowContext
Stores a named legacy timing value.
SETTING_NAMES - Static variable in interface org.microproxy.frames.Http2Frame
The names of the settings this API names, indexed by identifier (null for none).
settingId(String) - Static method in interface org.microproxy.frames.Http2Frame
The identifier of a setting named as Http2Frame.settingName(int) names it (a SETTINGS_ prefix is allowed), or written as a number (0x10, 16).
settingId(String) - Static method in interface org.microproxy.frames.Http3Frame
The identifier of a setting named as Http3Frame.settingName(long) names it (a SETTINGS_ prefix is allowed), or written as a number.
settingName(int) - Static method in interface org.microproxy.frames.Http2Frame
The name of a setting without its SETTINGS_ prefix, or its hexadecimal identifier for an extension one.
settingName(long) - Static method in interface org.microproxy.frames.Http3Frame
The name of a setting without its SETTINGS_ prefix, or its hexadecimal identifier for another one.
Settings(boolean, Map<Integer, Long>) - Constructor for record class io.github.mahmoudimus.http2.Frame.Settings
Creates SETTINGS with an immutable copy of its values.
Settings(boolean, Map<Integer, Long>) - Constructor for record class org.microproxy.frames.Http2Frame.Settings
Creates SETTINGS.
Settings(Map<Long, Long>) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.Settings
Creates SETTINGS.
Settings(Map<Long, Long>) - Constructor for record class org.microproxy.frames.Http3Frame.Settings
Creates SETTINGS.
SETTINGS - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for connection settings.
SETTINGS - Static variable in class io.github.mahmoudimus.http3.Http3FrameType
SETTINGS (§7.2.4).
SETTINGS_ENABLE_CONNECT_PROTOCOL - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_ENABLE_CONNECT_PROTOCOL (RFC 8441).
SETTINGS_ENABLE_CONNECT_PROTOCOL - Static variable in interface org.microproxy.frames.Http3Frame
SETTINGS_ENABLE_CONNECT_PROTOCOL (RFC 9220).
SETTINGS_ENABLE_PUSH - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_ENABLE_PUSH.
SETTINGS_H3_DATAGRAM - Static variable in interface org.microproxy.frames.Http3Frame
SETTINGS_H3_DATAGRAM (RFC 9297).
SETTINGS_HEADER_TABLE_SIZE - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_HEADER_TABLE_SIZE.
SETTINGS_INITIAL_WINDOW_SIZE - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_INITIAL_WINDOW_SIZE.
SETTINGS_MAX_CONCURRENT_STREAMS - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_MAX_CONCURRENT_STREAMS.
SETTINGS_MAX_FIELD_SECTION_SIZE - Static variable in interface org.microproxy.frames.Http3Frame
SETTINGS_MAX_FIELD_SECTION_SIZE.
SETTINGS_MAX_FRAME_SIZE - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_MAX_FRAME_SIZE.
SETTINGS_MAX_HEADER_LIST_SIZE - Static variable in interface org.microproxy.frames.Http2Frame
SETTINGS_MAX_HEADER_LIST_SIZE.
SETTINGS_QPACK_BLOCKED_STREAMS - Static variable in interface org.microproxy.frames.Http3Frame
SETTINGS_QPACK_BLOCKED_STREAMS (RFC 9204).
SETTINGS_QPACK_MAX_TABLE_CAPACITY - Static variable in interface org.microproxy.frames.Http3Frame
SETTINGS_QPACK_MAX_TABLE_CAPACITY (RFC 9204).
SETTINGS_TIMEOUT - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
A SETTINGS acknowledgement took too long.
settingsAckTimeout() - Method in class org.microproxy.Http2Options
Returns how long the client may take to acknowledge the proxy's SETTINGS.
settingsAckTimeout(Duration) - Method in class org.microproxy.Http2Options.Builder
How long the client may take to acknowledge the proxy's SETTINGS (default 10 s) before GOAWAY SETTINGS_TIMEOUT.
settingsReceived() - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Whether the control stream's SETTINGS frame has arrived.
setTransferEncodingChunked(HttpMessage, boolean) - Static method in class org.microproxy.http.HttpUtil
Makes chunked the final transfer coding (keeping any other codings) and removes Content-Length, or removes chunked again when chunked is false.
setUri(String) - Method in class org.microproxy.http.DefaultHttpRequest
 
setUri(String) - Method in interface org.microproxy.http.HttpRequest
Changes the request-target.
setUserName(String) - Method in class org.microproxy.ClientDetails
Sets the authenticated user name.
SFIXED32 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
sfixed32.
SFIXED64 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
sfixed64.
SHA256 - Static variable in class io.github.mahmoudimus.quic.Hkdf
HKDF with HMAC-SHA256, for the SHA-256 cipher suites and QUIC's Initial secrets.
SHA384 - Static variable in class io.github.mahmoudimus.quic.Hkdf
HKDF with HMAC-SHA384, for TLS_AES_256_GCM_SHA384.
shadow() - Method in class org.microproxy.extras.ConcurrencyLimiter
Returns whether requests over the limit are only counted and reported, never refused.
shadow(boolean) - Method in class org.microproxy.extras.ConcurrencyLimiter.Builder
Counts and reports requests over the limit (ConcurrencyLimiter.Builder.onReject, ConcurrencyLimiter.snapshot()) but lets them through, to try a limit out before enforcing it.
shared(boolean) - Method in class org.microproxy.cache.HttpCache.Builder
Whether the rules for shared caches apply (default true).
Short(boolean, boolean, ConnectionId, long, int) - Constructor for record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
A short header.
SHORT_RESERVED_BITS - Static variable in interface io.github.mahmoudimus.quic.packet.PacketHeader
The reserved bits of short headers, zero once header protection is removed.
shouldIntercept(ClientHello, FlowContext) - Method in interface org.microproxy.MitmManager
Whether to intercept a TLS connection, once its client's ClientHello is known: return false to tunnel it untouched, so the client sees the real server's certificate.
shouldSample(SpanContext, long, long) - Method in interface org.microproxy.otel.Sampler
Decides.
shouldSendAckFrequency(long, long, long) - Method in class io.github.mahmoudimus.quic.connection.AckFrequencyState
Whether to send an ACK_FREQUENCY frame: always first, then when the desired delay differs from the current request by more than 20%.
shouldTransmit() - Method in class io.github.mahmoudimus.quic.connection.Chunks
Whether closing queued a frame that should be sent soon to unblock the peer.
shuffle(StarlarkList<?>) - Method in class org.microproxy.starlark.stdlib.RandomModule
Randomly permutes a mutable list in place.
side() - Method in class io.github.mahmoudimus.quic.connection.Connection
Which side this is.
Side - Enum Class in io.github.mahmoudimus.quic.connection
The role of an endpoint in a connection.
sign(PrivateKey) - Method in class org.microproxy.tls.CertificateBuilder
Signs the certificate with signingKey (the issuer's key, or the subject's own).
SignatureScheme - Enum Class in io.github.mahmoudimus.quic.tls
The signature schemes (RFC 8446 section 4.2.3) the handshake knows.
signatureSchemes() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns the value of the signatureSchemes record component.
signatureSchemes(SignatureScheme...) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
The signature schemes allowed for CertificateVerify, most preferred first.
Simd - Class in org.microproxy.simd
Byte loops on the proxy's hot paths, with an optional SIMD implementation.
Simd.Ops - Interface in org.microproxy.simd
The operations, in scalar and SIMD flavours.
sink(Consumer<String>) - Method in class org.microproxy.extras.ActivityLogger.Builder
Sends lines to sink instead of the System.Logger.
sink(Consumer<String>) - Method in class org.microproxy.extras.HttpLogger.Builder
Where each message goes, as one string (several lines in HttpLogger.Format.TEXT).
SINT32 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
sint32: zigzag varint.
SINT64 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
sint64: zigzag varint.
size() - Method in class io.github.mahmoudimus.http2.FlowControlWindow
The space left; negative if a SETTINGS change shrank the window below what was in flight.
size() - Method in record class io.github.mahmoudimus.http2.HeaderField
The size HPACK and SETTINGS_MAX_HEADER_LIST_SIZE count for this field: name + value + 32.
size() - Method in exception class io.github.mahmoudimus.http2.HeaderListSizeException
The size of the field section, counted as SETTINGS_MAX_HEADER_LIST_SIZE counts it.
size() - Method in exception class io.github.mahmoudimus.http3.FieldSectionSizeException
The size of the field section, counted as SETTINGS_MAX_FIELD_SECTION_SIZE counts it.
size() - Method in record class io.github.mahmoudimus.http3.HeaderField
The size QPACK and SETTINGS_MAX_FIELD_SECTION_SIZE count for this field: name + value + 32.
size() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The number of disjoint ranges.
size() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The bytes the packet counts in flight.
size() - Method in class io.github.mahmoudimus.quic.connection.SentPackets
The number of packets tracked.
size() - Method in interface org.microproxy.cache.CacheStore
Returns the total CachedResponse.weight() of what is stored.
size() - Method in class org.microproxy.cache.DiskCacheStore
 
size() - Method in class org.microproxy.cache.MemoryCacheStore
 
size() - Method in class org.microproxy.http.HttpHeaders
Counts the header fields, including repeated names.
size() - Method in class org.microproxy.stats.StatsRegistry
Returns how many metrics there are.
size() - Method in class org.microproxy.stats.StatsScope
Returns how many metrics the scope has made.
size(long) - Static method in class io.github.mahmoudimus.quic.VarInt
The length of the shortest encoding of a value.
size(String) - Method in class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
The number of tickets kept for a server.
SIZE_BOUND - Static variable in record class io.github.mahmoudimus.quic.connection.StreamMeta
The largest STREAM frame header: type, stream ID, offset and length.
SIZE_KNOWN - Enum constant in enum class io.github.mahmoudimus.quic.connection.RecvState
A frame with the FIN bit fixed the final size; some data is still missing.
sizeOf(byte) - Static method in class io.github.mahmoudimus.quic.VarInt
The length of an encoding, read from its first byte.
SKIP - Enum constant in enum class org.microproxy.GeneratedResponses
Generated responses never reach proxyToClientResponse: they are sent as made.
slowStartThreshold() - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Returns the value of the slowStartThreshold record component.
slowStartThreshold() - Method in class io.github.mahmoudimus.quic.congestion.Cubic
The slow start threshold.
slowStartThreshold() - Method in class io.github.mahmoudimus.quic.congestion.NewReno
The slow start threshold.
smallest() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckRange
Returns the value of the smallest record component.
snapshot() - Method in class org.microproxy.extras.ConcurrencyLimiter
The current state, per key and in total.
snapshot() - Method in interface org.microproxy.stats.Histogram
Returns the counts so far, read bucket by bucket (not atomically as a whole).
Snapshot(double[], long[], double, long) - Constructor for class org.microproxy.stats.Histogram.Snapshot
A snapshot of the given counts.
Snapshot(Map<String, ConcurrencyLimiter.KeyStats>, int, int, long, long, long) - Constructor for record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Creates an instance of a Snapshot record class.
sni() - Method in record class org.microproxy.ClientHello
Returns the value of the sni record component.
sni() - Method in interface org.microproxy.quic.QuicContext
The server name the client asked for in its ClientHello, which the proxy asked the server for and issued its certificate for.
sni() - Method in interface org.microproxy.tcp.TcpContext
The server name the client asked for in its TLS ClientHello, when the proxy read one (it may have, and still tunnel the TLS untouched).
Soa(String, String, long, long, long, long, long) - Constructor for record class org.microproxy.dns.DnsMessage.Soa
Checks the names.
SOA - Static variable in class org.microproxy.dns.DnsMessage
Type SOA: the start of a zone of authority.
SOCKS - Enum constant in enum class org.microproxy.FlowRecord.Kind
A SOCKS client's tunnel (socks).
SOCKS4 - Enum constant in enum class org.microproxy.ChainedProxyType
SOCKS version 4 upstream proxy.
SOCKS5 - Enum constant in enum class org.microproxy.ChainedProxyType
SOCKS version 5 upstream proxy.
socksVersion() - Method in class org.microproxy.FlowContext
The SOCKS version the client reached the proxy with: 5, or 4 for SOCKS4 and 4a.
software(String) - Method in class org.microproxy.warc.WarcRecorder.Builder
The software field of the warcinfo records.
source() - Method in record class io.github.mahmoudimus.quic.connection.Transmit
Returns the value of the source record component.
source() - Method in class org.microproxy.FlowRecord
Returns where the response came from, or null when there was none.
sourceId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns the value of the sourceId record component.
sourceId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns the value of the sourceId record component.
sourceId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
Returns the value of the sourceId record component.
sourceId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
Returns the value of the sourceId record component.
sourceId() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns the value of the sourceId record component.
sourceId() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The Source Connection ID of a long header.
sourceId() - Method in exception class io.github.mahmoudimus.quic.packet.UnsupportedVersionException
The packet's Source Connection ID.
sources() - Method in class org.microproxy.HttpFiltersChain
Returns the chained sources, in order.
space(SpaceId) - Method in class io.github.mahmoudimus.quic.connection.Recovery
A packet number space.
SpaceId - Enum Class in io.github.mahmoudimus.quic.connection
The three packet number spaces (RFC 9000 section 12.3).
SpanContext - Record Class in org.microproxy.otel
What a propagator carries between processes: a 128-bit trace id, a 64-bit span id, the trace flags (bit 0: sampled) and the W3C tracestate, as OpenTelemetry's SpanContext.
SpanContext(long, long, long, int, String, boolean) - Constructor for record class org.microproxy.otel.SpanContext
Checks the parts.
spanId() - Method in interface org.microproxy.FlowTrace
Returns the id of the proxy's span for the exchange, 16 lower-case hex digits, or null.
spanId() - Method in record class org.microproxy.otel.SpanContext
Returns the value of the spanId record component.
spanIdHex() - Method in record class org.microproxy.otel.SpanContext
Returns the span id as 16 lower-case hex digits.
spanLimits(SpanLimits) - Method in class org.microproxy.otel.Telemetry.Builder
The span limits.
SpanLimits - Record Class in org.microproxy.otel
Bounds on what one span (or log record) keeps, so that attributes a script or a request supplies cannot grow it without limit: past them, attributes and events are dropped and counted as dropped in the export, and longer string values are cut.
SpanLimits(int, int, int, int) - Constructor for record class org.microproxy.otel.SpanLimits
Checks the limits.
spanQueue(int, int, Duration) - Method in class org.microproxy.otel.Telemetry.Builder
The span queue (OTEL_BSP_*): its size (2048), the largest batch (512) and how long a span waits for its batch to fill (5 s).
spec() - Method in record class io.github.mahmoudimus.http2.Frame.Priority
Returns the value of the spec record component.
spin() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns the value of the spin record component.
SPIN_BIT - Static variable in interface io.github.mahmoudimus.quic.packet.PacketHeader
The latency spin bit of short headers.
split(byte[]) - Static method in class org.microproxy.contentviews.Grpc
Splits a body into its framed messages.
splitDatagram(ByteBuffer, int, boolean) - Static method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Splits a datagram into its coalesced packets (RFC 9000 section 12.2).
splitList(String) - Static method in class org.microproxy.http.HttpHeaders
Splits a list-valued header (a, b ,c) into its trimmed, non-empty elements.
spuriousCongestionEvents() - Method in class io.github.mahmoudimus.quic.connection.Recovery
Congestion events found spurious.
SQUID - Enum constant in enum class org.microproxy.extras.LogFormat
Squid native: time elapsed client code/status bytes method URL user hierarchy/peer type, as %START_TIME(%s.%3f)% %DURATION% %DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT% TCP_MISS/%RESPONSE_CODE% %BYTES_SENT% %REQ(:METHOD)% %MP_URL% %MP_USER% DIRECT/%UPSTREAM_REMOTE_ADDRESS_WITHOUT_PORT% %RESP(CONTENT-TYPE)%; spaces in values become _, so each value stays one column.
Srv(int, int, int, String) - Constructor for record class org.microproxy.dns.DnsMessage.Srv
Checks the name.
SRV - Static variable in class org.microproxy.dns.DnsMessage
Type SRV: a service location.
SslContexts - Class in org.microproxy.tls
Small factory methods for SSLContexts.
SslContextSource - Interface in org.microproxy
Supplies TLS configuration for one side of a connection.
staleServed() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns the value of the staleServed record component.
StarlarkLauncherExtension - Class in org.microproxy.starlark
Adds --script to the command line when this module is on the class path.
StarlarkLauncherExtension() - Constructor for class org.microproxy.starlark.StarlarkLauncherExtension
Creates an extension with script reloading enabled and no script selected.
StarlarkScript - Class in org.microproxy.starlark
A compiled Starlark file whose top-level statements have run.
StarlarkScript.Limits - Record Class in org.microproxy.starlark
Bounds on each call into a script (and on running its top level).
start() - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Returns the value of the start record component.
start() - Method in record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Returns the value of the start record component.
start() - Method in record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Returns the value of the start record component.
start() - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Returns the value of the start record component.
start() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns the value of the start record component.
start() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The index of the first byte of this packet in the datagram buffer.
start() - Method in record class org.microproxy.FlowTimings
When the request started arriving (wall clock).
start() - Method in interface org.microproxy.HttpProxyServerBootstrap
Starts the proxy with this configuration.
start() - Method in class org.microproxy.stats.StatsdSink
Starts flushing every interval, on a virtual thread, until StatsdSink.close().
started() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the started record component.
startEpochMillis() - Method in class org.microproxy.FlowRecord
Returns when the exchange or flow started (wall clock, epoch milliseconds); 0 when unknown.
startEpochMillis() - Method in record class org.microproxy.FlowTimings
Returns the value of the startEpochMillis record component.
startExchange(FlowContext, HttpRequest) - Method in interface org.microproxy.FlowTracer
Called when a request head arrives from the client, before trackers, authentication and filters see it, so that headers the tracer adds (an X-Request-Id) are seen by all of them and the access log.
startExchange(FlowContext, HttpRequest) - Method in class org.microproxy.otel.Telemetry
 
startSpan(String) - Method in interface org.microproxy.FlowTrace
Starts a span of the proxy's own work for the exchange, such as a script's hook call: an INTERNAL span, a child of the exchange's span (of the tunnel's or flow's, for the hooks of a tunnel or a flow), which ends when FlowTrace.Span.end(java.lang.String) is called.
STARTUP - Enum constant in enum class io.github.mahmoudimus.quic.congestion.Bbr.Mode
The start of the connection: the sending rate doubles each round trip.
state() - Method in interface org.microproxy.HttpProxyServer
Returns where the proxy is in its life: ServerState.LIVE once started, until it drains or stops.
statelessResetsSent() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Stateless resets sent, for packets of connections this endpoint does not know.
statelessResetsSent() - Method in record class io.github.mahmoudimus.quic.EndpointStats
Returns the value of the statelessResetsSent record component.
statelessResetToken() - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Returns the value of the statelessResetToken record component.
statelessResetToken() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the statelessResetToken record component.
statelessResetToken(StatelessResetToken) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets stateless_reset_token.
StatelessResetToken - Class in io.github.mahmoudimus.quic
A 16-byte stateless reset token (RFC 9000 section 10.3), as carried in NEW_CONNECTION_ID frames, the stateless_reset_token transport parameter and the tail of a Stateless Reset.
stats() - Method in class io.github.mahmoudimus.quic.QuicConnection
A snapshot of the connection's statistics.
stats() - Method in class org.microproxy.cache.HttpCache
Returns a snapshot of the cache counters.
stats(StatsRegistry) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
The registry the script's stats module counts into, as script.<name> (ScriptStats); usually the proxy's (HttpProxyServerBootstrap.getStats()).
Stats(long, long, long, long, long) - Constructor for record class org.microproxy.cache.HttpCache.Stats
Creates an instance of a Stats record class.
Stats(Duration, Duration, Duration, long, long, int, long, long, long, long, long, long, long, long, long, long, long, long, long, long, boolean, boolean, String, long) - Constructor for record class io.github.mahmoudimus.quic.QuicConnection.Stats
Creates an instance of a Stats record class.
StatsdSink - Class in org.microproxy.stats
Pushes a registry's metrics to a statsd server over UDP, every flush interval (5 seconds by default, as Envoy), from a virtual thread: counters as the increase since the last flush ( |c), gauges as their value (|g), by their flat names after the registry's prefix (envoy.cluster.direct.upstream_rq_total:3|c).
StatsdSink.Builder - Class in org.microproxy.stats
Settings for a StatsdSink.
StatsFormatter - Class in org.microproxy.stats
Renders a registry's metrics as Envoy's admin endpoint does: Prometheus's text exposition format, the plain /stats dump and its JSON form.
statsName() - Method in class org.microproxy.starlark.StarlarkScript
The name this script's stats are tagged with (microproxy_script): its file name without .star, or the one given to StarlarkScript.withStatsName(java.lang.String).
statsName(String) - Method in class org.microproxy.starlark.ScriptedProxy.Builder
The name the script's hooks.starlark.* stats are tagged with ( microproxy_script); by default its file name without .star.
StatsRegistry - Class in org.microproxy.stats
The proxy's metrics, by Envoy's flat stat names (http.<prefix>.downstream_rq_total, cluster.<name>.upstream_cx_connect_ms, ...), each with the tags its name carries (TagExtractor), for StatsFormatter and StatsdSink to show.
StatsRegistry.Builder - Class in org.microproxy.stats
Settings for a StatsRegistry.
StatsRegistry.Overflow - Enum Class in org.microproxy.stats
What happens to a new cluster once StatsRegistry.Builder.maxClusters clusters have stats.
StatsScope - Class in org.microproxy.stats
Metrics named <prefix>.<name> whose names come from outside the proxy, such as a script's (script.<name>), and of which there may be at most a fixed number: past it, new names get metrics that do nothing (and a warning is logged once), so their number stays bounded whatever names are asked for.
status() - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
Returns the value of the status record component.
status() - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
Returns the value of the status record component.
status() - Method in class org.microproxy.cache.CachedResponse
Returns the stored HTTP status code.
status() - Method in record class org.microproxy.extras.BlockList.Rule
Returns the value of the status record component.
status() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the status record component.
status() - Method in record class org.microproxy.extras.ServerReplay.Extra
Returns the value of the status record component.
status() - Method in class org.microproxy.http.DefaultHttpResponse
 
status() - Method in interface org.microproxy.http.HttpResponse
Returns the response's status code and reason phrase.
status() - Method in record class org.microproxy.ProxyFailure.BadRequest
 
status() - Method in record class org.microproxy.ProxyFailure.BadServerResponse
 
status() - Method in record class org.microproxy.ProxyFailure.ConnectFailed
 
status() - Method in record class org.microproxy.ProxyFailure.NoConnectionAvailable
 
status() - Method in record class org.microproxy.ProxyFailure.NoRoute
 
status() - Method in record class org.microproxy.ProxyFailure.RequestTooLarge
 
status() - Method in record class org.microproxy.ProxyFailure.ServerTimeout
 
status() - Method in interface org.microproxy.ProxyFailure
Returns the status of the proxy's default answer.
status() - Method in record class org.microproxy.ProxyFailure.TlsFailed
 
status() - Method in record class org.microproxy.ProxyFailure.UnresolvedHost
 
status(byte[]) - Static method in class org.microproxy.contentviews.Grpc
Decodes a serialized google.rpc.Status.
status(int) - Static method in record class org.microproxy.extras.ServerReplay.Extra
Answering with an empty response.
Status(int, String, List<Grpc.Detail>) - Constructor for record class org.microproxy.contentviews.Grpc.Status
Copies the details.
statusCode(AccessLogFilter.Comparison, int) - Static method in interface org.microproxy.extras.AccessLogFilter
Compares the status of the response the client got (0 for none) with value.
statuses() - Method in record class org.microproxy.extras.ClientReplay.Result
Returns the value of the statuses record component.
statusFromTrailer(String) - Static method in class org.microproxy.contentviews.Grpc
Decodes the value of a grpc-status-details-bin field: base64 (padded or not) of a google.rpc.Status.
Stdlib - Class in org.microproxy.starlark.stdlib
The Python-compatible standard library ported from starlarky, for load() in scripts: load("@stdlib//urllib/parse", "parse"), load("@vendor//option/result", "Ok").
Stdlib.Limits - Record Class in org.microproxy.starlark.stdlib
Bounds on running a module's top-level statements.
steps() - Method in class org.microproxy.ScriptUsage
Returns the interpreter steps the calls ran, together.
StickyCookie - Class in org.microproxy.extras
Remembers the cookies servers set and sends them with later requests, as mitmproxy's stickycookie, so that a session started in one client carries over to others (a browser and a command-line tool, or replayed requests).
stop() - Method in interface org.microproxy.HttpProxyServer
Stops accepting connections and gracefully closes existing ones: idle connections close now, HTTP/2 and HTTP/3 ones are sent GOAWAY, and exchanges in progress get up to the drain time to finish before every connection is closed.
stop(StreamId, long, Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Stops receiving a stream (STOP_SENDING).
stop(Timer) - Method in class io.github.mahmoudimus.quic.connection.TimerTable
Stops a timer.
STOP_SENDING - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
STOP_SENDING (0x05).
stopAll() - Method in class io.github.mahmoudimus.quic.connection.TimerTable
Stops every timer, as when the connection is closed.
stopListeners() - Method in interface org.microproxy.HttpProxyServer
Stops accepting new connections now, as Envoy's non-graceful /drain_listeners does: the TCP listener closes and the UDP ones (HTTP/3, transparent QUIC) refuse new QUIC connections; open connections are left alone.
stopped(StreamId) - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether the peer sent STOP_SENDING for a stream.
stopped(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Whether the peer stopped a stream.
Stopped(StreamId, long) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamEvent.Stopped
Creates an instance of a Stopped record class.
STOPPED - Enum constant in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
The peer sent STOP_SENDING; StreamException.errorCode() is its error code.
STOPPED - Enum constant in enum class io.github.mahmoudimus.quic.QuicStreamException.Kind
The peer asked this side to stop sending.
STOPPED - Enum constant in enum class org.microproxy.ServerState
Stopped: every listener and connection closed.
stopSending - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
STOP_SENDING frames to send.
stopSending(long) - Method in class io.github.mahmoudimus.quic.QuicStream
Asks the peer to stop sending (STOP_SENDING); data not yet read is discarded.
stopSending(StreamId, long) - Method in class io.github.mahmoudimus.quic.connection.Connection
Asks the peer to stop sending on a stream (STOP_SENDING); unread data is discarded.
StopSending(long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.StopSending
A STOP_SENDING frame.
store() - Method in class org.microproxy.cache.HttpCache
Returns the backing response store.
store(CacheStore) - Method in class org.microproxy.cache.HttpCache.Builder
Where responses are kept (default: 64 MiB in memory).
stores() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns the value of the stores record component.
strayDatagrams() - Method in class io.github.mahmoudimus.quic.connection.Connection
Datagrams that came from an address the connection does not take packets from, and were dropped: on a server, from a new address during the handshake or when migration is disabled; on a client, from anywhere but the server's address and the path it probes.
strayDatagrams() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the strayDatagrams record component.
stream(boolean) - Method in class org.microproxy.extras.HarRecorder.Builder
Writes each entry to the file as it completes, rather than keeping entries in memory until HarRecorder.close() (default false).
Stream(long, long, ByteBuffer, boolean) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.Stream
A STREAM frame.
Stream(StreamEvent) - Constructor for record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Stream
Creates an instance of a Stream record class.
STREAM - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
STREAM (0x08 to 0x0f): the low bits flag OFF (0x04), LEN (0x02) and FIN (0x01).
STREAM_CLOSED - Enum constant in enum class io.github.mahmoudimus.http2.ErrorCode
A frame arrived for a closed stream.
STREAM_DATA_BLOCKED - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
STREAM_DATA_BLOCKED (0x15).
STREAM_IDLE_TIMEOUT - Enum constant in enum class org.microproxy.ResponseFlag
SI: the exchange, tunnel or flow sat idle for the idle timeout.
STREAM_LIMIT_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
The peer opened more streams than allowed.
STREAM_STATE_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
A frame arrived for a stream in a state that does not permit it.
streamData(QuicStreamMessage, QuicStreamContext) - Method in interface org.microproxy.quic.QuicInterceptor
Bytes read from one side of a stream, before they are passed on.
Stream data - Search tag in interface org.microproxy.quic.QuicInterceptor
Section
streamDataBlocked - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Streams that need a STREAM_DATA_BLOCKED.
StreamDataBlocked(long, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
A STREAM_DATA_BLOCKED frame.
streamDataBlockedLimit(StreamId) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
The limit to put in a STREAM_DATA_BLOCKED for a stream.
streamDependency() - Method in record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Returns the value of the streamDependency record component.
streamDependency() - Method in record class org.microproxy.frames.Http2Frame.Priority
Returns the value of the streamDependency record component.
streamError(int, ErrorCode, String) - Static method in exception class io.github.mahmoudimus.http2.Http2Exception
An error that ends only the given stream.
streamError(long, Http3ErrorCode, String) - Static method in exception class io.github.mahmoudimus.http3.Http3Exception
An error that ends only the given stream.
StreamEvent - Interface in io.github.mahmoudimus.quic.connection
Application events about streams, polled from StreamsState.poll().
StreamEvent.Available - Record Class in io.github.mahmoudimus.quic.connection
The peer raised the stream limit, so at least one more stream of this directionality may be opened.
StreamEvent.Finished - Record Class in io.github.mahmoudimus.quic.connection
A finished stream's data, FIN included, has all been acknowledged.
StreamEvent.Opened - Record Class in io.github.mahmoudimus.quic.connection
The peer opened one or more streams, which StreamsState.accept(Dir) now returns.
StreamEvent.Readable - Record Class in io.github.mahmoudimus.quic.connection
A stream probably has data, its end or a reset waiting to be read.
StreamEvent.Stopped - Record Class in io.github.mahmoudimus.quic.connection
The peer sent STOP_SENDING: it no longer wants the stream's data.
StreamEvent.Writable - Record Class in io.github.mahmoudimus.quic.connection
A stream that could not take more data might take some now, or was stopped.
StreamException - Exception Class in io.github.mahmoudimus.quic.connection
An application-level stream operation that cannot proceed.
StreamException(StreamException.Kind) - Constructor for exception class io.github.mahmoudimus.quic.connection.StreamException
An exception without an error code.
StreamException(StreamException.Kind, long) - Constructor for exception class io.github.mahmoudimus.quic.connection.StreamException
An exception.
StreamException.Kind - Enum Class in io.github.mahmoudimus.quic.connection
Why the operation failed.
streamFinished(QuicStreamContext, boolean) - Method in interface org.microproxy.quic.QuicInterceptor
One side finished sending on a stream (its FIN): called before the end is passed on, so QuicStreamContext.send(boolean, byte[]) with the same fromClient can still add bytes.
streamFrames() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
The STREAM frames the packet carried.
streamId() - Method in class io.github.mahmoudimus.http2.FlowControlWindow
Identifies the scope of this window.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Data
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
 
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Ping
 
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Priority
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Settings
 
streamId() - Method in interface io.github.mahmoudimus.http2.Frame
The stream this frame belongs to, or 0 for the connection.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.http2.Frame.WindowUpdate
Returns the value of the streamId record component.
streamId() - Method in exception class io.github.mahmoudimus.http2.Http2Exception
The stream in error, or 0 for a connection error.
streamId() - Method in exception class io.github.mahmoudimus.http3.Http3Exception
The stream in error, or Http3Exception.NO_STREAM for a connection error.
streamId() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Returns the value of the streamId record component.
streamId() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
Returns the value of the streamId record component.
streamId() - Method in interface org.microproxy.frames.FrameContext
The stream the frame belongs to: for HTTP/2 the frame's stream id, 0 for the connection; for HTTP/3 the QUIC stream's id, or -1 when the pipeline was given none.
streamId() - Method in record class org.microproxy.frames.Http2Frame.Data
Returns the value of the streamId record component.
streamId() - Method in record class org.microproxy.frames.Http2Frame.GoAway
 
streamId() - Method in record class org.microproxy.frames.Http2Frame.Headers
Returns the value of the streamId record component.
streamId() - Method in record class org.microproxy.frames.Http2Frame.Ping
 
streamId() - Method in record class org.microproxy.frames.Http2Frame.Priority
Returns the value of the streamId record component.
streamId() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
Returns the value of the streamId record component.
streamId() - Method in record class org.microproxy.frames.Http2Frame.RstStream
Returns the value of the streamId record component.
streamId() - Method in record class org.microproxy.frames.Http2Frame.Settings
 
streamId() - Method in interface org.microproxy.frames.Http2Frame
The stream the frame belongs to, or 0 for the connection.
streamId() - Method in record class org.microproxy.frames.Http2Frame.Unknown
Returns the value of the streamId record component.
streamId() - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
Returns the value of the streamId record component.
streamId() - Method in class org.microproxy.quic.QuicMessage
Returns the stream's ID on the client's connection.
streamId() - Method in interface org.microproxy.quic.QuicStreamContext
The stream's ID on the client's connection (RFC 9000 section 2.1).
StreamId - Record Class in io.github.mahmoudimus.quic.connection
A stream ID (RFC 9000 section 2.1): the two low bits give the initiator and direction, the rest the stream's index among the streams of that type.
StreamId(long) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamId
A stream ID.
streamMessage(QuicMessage, QuicStreamContext) - Method in interface org.microproxy.quic.QuicInterceptor
A whole message from one side of a stream, on a connection that QuicFraming gives a framer, before it is passed on; on such streams this replaces QuicInterceptor.streamData(org.microproxy.quic.QuicStreamMessage, org.microproxy.quic.QuicStreamContext).
StreamMeta - Record Class in io.github.mahmoudimus.quic.connection
What a sent STREAM frame carried, without its data, which stays in the stream's SendBuffer: kept with the sent packet to acknowledge or retransmit the range.
StreamMeta(StreamId, long, long, boolean) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamMeta
Creates an instance of a StreamMeta record class.
streamOpened(QuicStreamContext) - Method in interface org.microproxy.quic.QuicInterceptor
A side opened a stream, which the proxy has opened on the other connection: called before any of its data.
streamReceiveWindow() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
The per-stream receive window.
streamReceiveWindow() - Method in class org.microproxy.Http3Options
Returns the flow-control window of each stream: the most a peer may send ahead of the proxy's reading.
streamReceiveWindow(int) - Method in class io.github.mahmoudimus.http2.FlowController
The stream's receive window, or null if it is not tracked.
streamReceiveWindow(long) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The receive window of each stream: how much the peer may send ahead of what the application read.
streamReceiveWindow(long) - Method in class org.microproxy.Http3Options.Builder
QUIC's flow-control window per stream (default 256 KiB): the most a peer sends on a stream before the proxy has read it, request bodies from clients and response bodies from servers alike.
streamReset(QuicStreamContext, boolean, long) - Method in interface org.microproxy.quic.QuicInterceptor
One side reset its sending part of a stream (RESET_STREAM): the proxy resets the other side's with the same code, after this call.
STREAMS_BLOCKED - Enum constant in enum class io.github.mahmoudimus.quic.frame.FrameType
STREAMS_BLOCKED for bidirectional (0x16) and unidirectional (0x17) streams.
streamsBlocked - Variable in class io.github.mahmoudimus.quic.connection.Retransmits
Whether a STREAMS_BLOCKED is needed, indexed by Enum.ordinal().
StreamsBlocked(boolean, long) - Constructor for record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
A STREAMS_BLOCKED frame.
streamSendWindow(int) - Method in class io.github.mahmoudimus.http2.FlowController
The stream's send window, or null if it is not tracked.
StreamsState - Class in io.github.mahmoudimus.quic.connection
The streams of one connection (RFC 9000 sections 2 to 4): opening and accepting streams, stream and connection flow control, the send and receive state machines, RESET_STREAM and STOP_SENDING, priorities, and the control and STREAM frames they produce.
StreamsState(Side, long, long, long, long, long) - Constructor for class io.github.mahmoudimus.quic.connection.StreamsState
The stream state of a new connection.
StreamsState.Written - Record Class in io.github.mahmoudimus.quic.connection
streamStopped(QuicStreamContext, boolean, long) - Method in interface org.microproxy.quic.QuicInterceptor
One side asked the other to stop sending on a stream (STOP_SENDING): the proxy asks the other side the same, with the same code, and resets what it sends to the side that asked.
STRING - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
string: length-delimited UTF-8.
strings() - Method in record class org.microproxy.dns.DnsMessage.Txt
Returns the value of the strings record component.
subject(String, String) - Method in class org.microproxy.tls.CertificateBuilder
Sets the certificate subject.
subtract(RangeSet) - Method in class io.github.mahmoudimus.quic.connection.RangeSet
Removes every value of another set.
subtractBelow(long) - Method in class io.github.mahmoudimus.quic.connection.PendingAcks
Stops acknowledging packets numbered at or below max: the peer received an ACK of them.
suite() - Method in class io.github.mahmoudimus.quic.crypto.HeaderKey
The cipher suite.
suite() - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
The cipher suite.
suite() - Method in record class io.github.mahmoudimus.quic.Secrets
Returns the value of the suite record component.
sum() - Method in class org.microproxy.stats.Histogram.Snapshot
Returns the sum of the recorded values.
supportedVersions() - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig
The QUIC versions accepted, in preference order.
supportedVersions(QuicVersion...) - Method in class io.github.mahmoudimus.quic.connection.EndpointConfig.Builder
The QUIC versions to accept.
SWITCHING_PROTOCOLS - Static variable in record class org.microproxy.http.HttpResponseStatus
 
system() - Static method in interface io.github.mahmoudimus.quic.connection.NanoClock
The system's monotonic clock.
systemDefault() - Static method in class org.microproxy.tls.SslContexts
Returns a context using the JDK's default trust store and no client certificate.
systemDefaultPlus(X509Certificate...) - Static method in class org.microproxy.tls.SslContexts
A context that trusts the JDK's default trust store and, in addition, extraAnchors (e.g. a corporate or test CA).
systemServers() - Static method in interface org.microproxy.dns.DnsTransport
The nameservers of /etc/resolv.conf, or Google and Cloudflare public resolvers when that file is unavailable.

T

tag(QuicVersion, ConnectionId, byte[], int, int) - Static method in class io.github.mahmoudimus.quic.crypto.RetryIntegrity
Computes the tag of a Retry packet held in an array.
tag(QuicVersion, ConnectionId, ByteBuffer) - Static method in class io.github.mahmoudimus.quic.crypto.RetryIntegrity
Computes the tag of a Retry packet.
Tag - Record Class in org.microproxy.stats
A value taken out of a metric's flat name, which Prometheus shows as a label.
Tag(String, String) - Constructor for record class org.microproxy.stats.Tag
Checks both parts.
TAG_LENGTH - Static variable in class io.github.mahmoudimus.quic.crypto.PacketKey
The authentication tag length of every QUIC AEAD, in bytes.
TAG_LENGTH - Static variable in class io.github.mahmoudimus.quic.crypto.RetryIntegrity
The tag length in bytes.
TAG_LENGTH - Static variable in class io.github.mahmoudimus.quic.token.TokenKey
The AES-GCM tag length, in bytes.
tagExtractedName() - Method in interface org.microproxy.stats.Metric
Returns the name with its tag values taken out, such as cluster.upstream_rq_total.
tagExtractedName() - Method in record class org.microproxy.stats.TagExtractor.Result
Returns the value of the tagExtractedName record component.
tagExtractor() - Method in class org.microproxy.stats.StatsRegistry
Returns what takes the tags out of flat names.
tagExtractor(TagExtractor) - Method in class org.microproxy.stats.StatsRegistry.Builder
What takes the tags out of flat names (default TagExtractor.envoyDefaults()).
TagExtractor - Class in org.microproxy.stats
Takes tag values out of flat stat names, once, when a metric is registered, as Envoy's tag extraction does: cluster.direct.upstream_rq_2xx becomes cluster.upstream_rq_xx with the tags envoy_cluster_name="direct" and envoy_response_code_class="2".
TagExtractor.Result - Record Class in org.microproxy.stats
A name with its tags taken out.
TagExtractor.Rule - Record Class in org.microproxy.stats
One rule.
tagLength() - Method in class io.github.mahmoudimus.quic.crypto.PacketKey
The authentication tag length.
tagName() - Method in record class org.microproxy.stats.TagExtractor.Rule
Returns the value of the tagName record component.
tags() - Method in interface org.microproxy.stats.Metric
Returns the tags taken out of the flat name, in the order they were found.
tags() - Method in record class org.microproxy.stats.TagExtractor.Result
Returns the value of the tags record component.
take(long) - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
Stops tracking a sent packet.
take(String) - Method in class io.github.mahmoudimus.quic.tls.ClientSessionMemoryCache
 
take(String) - Method in interface io.github.mahmoudimus.quic.tls.ClientSessionStore
Takes the newest ticket for a server, removing it.
take(String) - Method in class io.github.mahmoudimus.quic.token.TokenMemoryCache
 
take(String) - Method in interface io.github.mahmoudimus.quic.token.TokenStore
Takes a token for a server, removing it.
takeReset(StreamId, Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Whether the peer reset a stream.
target() - Method in record class org.microproxy.dns.DnsMessage.Srv
Returns the value of the target record component.
targetAddress() - Method in interface org.microproxy.udp.UdpContext
The address the flow's socket is connected to: the target, resolved.
TCP - Enum constant in enum class org.microproxy.FlowRecord.Kind
A raw TCP tunnel passed through the TCP hooks (tcp).
TcpContext - Interface in org.microproxy.tcp
One raw TCP tunnel, as a TcpInterceptor sees it: where it goes, whether the proxy decrypted it, and a way to add bytes.
tcpEnd(TcpContext) - Method in interface org.microproxy.tcp.TcpInterceptor
The tunnel ended: both directions finished, or one side closed the connection.
tcpError(TcpContext, Throwable) - Method in interface org.microproxy.tcp.TcpInterceptor
The tunnel failed: a read or write failed (a reset, a timeout), and the connection was closed.
tcpHalfClose(TcpContext, boolean) - Method in interface org.microproxy.tcp.TcpInterceptor
One side finished sending (end of stream, a TCP half-close): called before the end is passed on to the other side, so TcpContext.send(boolean, byte[]) with the same fromClient can still add bytes in that direction.
tcpInterceptor() - Method in class org.microproxy.starlark.ScriptedProxy
An interceptor that calls the script's on_tcp_start(ctx), on_tcp_message(msg, ctx) and on_tcp_end(ctx), for HttpProxyServerBootstrap.withTcpInterceptor(org.microproxy.tcp.TcpInterceptor).
TcpInterceptor - Interface in org.microproxy.tcp
Sees, rewrites, drops and adds the bytes of raw TCP tunnels: mitmproxy's tcp_start, tcp_message, tcp_end and tcp_error hooks.
tcpMessage(TcpMessage, TcpContext) - Method in interface org.microproxy.tcp.TcpInterceptor
Bytes read from one side, before they are passed on.
TcpMessage - Class in org.microproxy.tcp
Bytes the proxy read from one side of a raw TCP tunnel, as a TcpInterceptor sees them.
TcpMessage(byte[], boolean, Instant) - Constructor for class org.microproxy.tcp.TcpMessage
A message.
tcpStart(TcpContext) - Method in interface org.microproxy.tcp.TcpInterceptor
A tunnel opened: both sides are connected, nothing has been relayed yet (except the bytes the proxy read to decide what the connection is, which follow as the first message).
TE - Static variable in class org.microproxy.http.HttpHeaderNames
The TE header field name.
Telemetry - Class in org.microproxy.otel
OpenTelemetry for the proxy, with nothing but the JDK: context propagation (W3C Trace Context, and B3 and Jaeger when configured), an X-Request-Id per request, a SERVER span per exchange (HTTP/1, HTTP/2 and HTTP/3) with a CLIENT span per attempt to reach the server, an INTERNAL span per tunnel or flow (CONNECT, SOCKS, WebSocket, CONNECT-UDP, QUIC), and the export over OTLP/HTTP, as protobuf or JSON, of those spans, of the proxy's stats as metrics, and of its access-log records as log records.
Telemetry.Builder - Class in org.microproxy.otel
Configures a Telemetry; every setting has OpenTelemetry's default.
Telemetry.Protocol - Enum Class in org.microproxy.otel
How OTLP is sent: http/protobuf or http/json.
Telemetry.RequestIdMode - Enum Class in org.microproxy.otel
What happens to a request's X-Request-Id.
Telemetry.WhenStripped - Enum Class in org.microproxy.otel
What goes upstream when the proxy strips tracing headers (HttpProxyServerBootstrap.withoutTracingHeadersUpstream()).
test(long, long) - Method in enum class org.microproxy.extras.AccessLogFilter.Comparison
Compares actual with value.
test(FlowRecord) - Method in interface org.microproxy.extras.AccessLogFilter
Whether record is to be logged.
text() - Method in record class org.microproxy.contentviews.ContentViews.Rendered
Returns the value of the text record component.
text() - Method in record class org.microproxy.contentviews.ProtoValue.Text
Returns the value of the text record component.
text() - Method in record class org.microproxy.dns.DnsMessage.Address
Returns the address as RFC 5952 writes it: 192.0.2.1, 2001:db8::1.
text() - Method in record class org.microproxy.dns.DnsMessage.Mx
 
text() - Method in record class org.microproxy.dns.DnsMessage.Name
 
text() - Method in record class org.microproxy.dns.DnsMessage.Opaque
 
text() - Method in interface org.microproxy.dns.DnsMessage.Rdata
Returns the data in presentation format, as a zone file shows it.
text() - Method in record class org.microproxy.dns.DnsMessage.Soa
 
text() - Method in record class org.microproxy.dns.DnsMessage.Srv
 
text() - Method in record class org.microproxy.dns.DnsMessage.Txt
 
text() - Method in record class org.microproxy.frames.Http2Frame.Data
The content as UTF-8 text (malformed sequences replaced).
text() - Method in record class org.microproxy.frames.Http3Frame.Data
The content as UTF-8 text (malformed sequences replaced).
text() - Method in record class org.microproxy.http.HttpVersion
Returns the protocol version token, such as HTTP/1.1.
text() - Method in record class org.microproxy.http.WebSocketMessage
The payload decoded as UTF-8, with malformed input replaced (meaningful for text messages).
text() - Method in class org.microproxy.quic.QuicDatagram
The payload decoded as UTF-8, malformed sequences replaced with U+FFFD.
text() - Method in class org.microproxy.quic.QuicMessage
The payload decoded as UTF-8, malformed sequences replaced with U+FFFD.
text() - Method in class org.microproxy.quic.QuicStreamMessage
The bytes decoded as UTF-8, malformed sequences replaced with U+FFFD.
text() - Method in class org.microproxy.tcp.TcpMessage
The bytes decoded as UTF-8, malformed sequences replaced with U+FFFD.
text() - Method in class org.microproxy.udp.UdpMessage
The payload decoded as UTF-8, malformed sequences replaced with U+FFFD.
text(String) - Static method in class org.microproxy.http.WebSocketFrame
A final text frame.
text(String, boolean) - Static method in record class org.microproxy.http.WebSocketMessage
A text message.
text(FullHttpMessage) - Static method in class org.microproxy.http.HttpBodies
The decoded body as text, in the message's charset (UTF-8 when none is declared).
text(StatsRegistry) - Static method in class org.microproxy.stats.StatsFormatter
The metrics as Envoy's /stats text: a line name: value per counter and gauge, sorted by flat name, then a line per histogram with its estimated quantiles, name: P0(nan,0.5) P25(nan,1.2) ... (Envoy's interval values are not kept: nan), or name: No recorded values.
text(StatsRegistry, Predicate<? super Metric>) - Static method in class org.microproxy.stats.StatsFormatter
The metrics include accepts, as Envoy's /stats text (see StatsFormatter.text(StatsRegistry)).
Text(String) - Constructor for record class org.microproxy.contentviews.ProtoValue.Text
Wraps text.
TEXT - Enum constant in enum class org.microproxy.extras.HttpLogger.Format
Readable blocks of lines, one block per message.
TEXT - Enum constant in enum class org.microproxy.http.WebSocketMessage.Type
A text message: UTF-8 (WebSocketFrame.OPCODE_TEXT).
textOrNull() - Method in record class org.microproxy.http.WebSocketMessage
The payload decoded as UTF-8, or null if it is not valid UTF-8.
Threads - Search tag in interface org.microproxy.quic.QuicInterceptor
Section
ticketer() - Method in class io.github.mahmoudimus.quic.tls.TlsConfig
The server's ticketer.
Ticketer - Class in io.github.mahmoudimus.quic.tls
A stateless session ticket encrypter for a server (RFC 8446 section 4.6.1, RFC 5077 section 4): the session state is sealed into the ticket with AES-256-GCM under a server key, so the server keeps nothing per session.
ticketId() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
The ticket's identifier.
tickets() - Method in record class io.github.mahmoudimus.quic.connection.SessionCache
Returns the value of the tickets record component.
ticketsPerConnection(int) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Server: how many tickets to send after each handshake.
time(long, long) - Method in class org.microproxy.FlowRecord.Builder
Sets when the exchange started and how long it lasted.
TIMED_OUT - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
The idle timeout expired.
timeOfLastAckElicitingPacket() - Method in class io.github.mahmoudimus.quic.connection.PacketSpace
When the last ack-eliciting packet was sent.
timeout() - Method in record class org.microproxy.starlark.StarlarkScript.Limits
Returns the value of the timeout record component.
timeout() - Method in record class org.microproxy.starlark.stdlib.Stdlib.Limits
Returns the value of the timeout record component.
timeout(Duration) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
Per-attempt UDP/TCP timeout.
timeout(Duration) - Method in class org.microproxy.extras.ClientReplay.Builder
How long to wait to connect to the proxy, and for each read (default 60 seconds).
timeout(Duration) - Method in class org.microproxy.otel.Telemetry.Builder
How long one export attempt may take, connecting included (10 seconds by default).
TIMEOUT - Enum constant in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
The handshake did not finish within the handshake timeout.
Timer - Enum Class in io.github.mahmoudimus.quic.connection
The timers of a connection, kept in a TimerTable.
TIMER_GRANULARITY - Static variable in class io.github.mahmoudimus.quic.congestion.RttEstimator
The system timer granularity assumed by loss detection, 1 ms (RFC 9002 section 6.1.2).
TimerTable - Class in io.github.mahmoudimus.quic.connection
The deadline of each Timer, in nanoseconds from the connection's NanoClock.
TimerTable() - Constructor for class io.github.mahmoudimus.quic.connection.TimerTable
A table with no timer set.
timeSent() - Method in class io.github.mahmoudimus.quic.connection.SentPacket
When the packet was sent.
timestamp() - Method in class org.microproxy.quic.QuicDatagram
Returns when the proxy received the datagram.
timestamp() - Method in class org.microproxy.quic.QuicMessage
Returns when the proxy had the whole message.
timestamp() - Method in class org.microproxy.quic.QuicStreamMessage
Returns when the proxy read the bytes.
timestamp() - Method in class org.microproxy.tcp.TcpMessage
Returns when the proxy read the bytes.
timestamp() - Method in class org.microproxy.udp.UdpMessage
Returns when the proxy received the datagram.
timeThreshold() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns the value of the timeThreshold record component.
timeThreshold(double) - Method in class io.github.mahmoudimus.quic.connection.RecoveryConfig.Builder
Sets the time reordering threshold.
timeThreshold(double) - Method in class io.github.mahmoudimus.quic.connection.TransportConfig.Builder
The time reordering threshold of loss detection, in RTTs (RFC 9002 section 6.1.2).
timeToFirstByte() - Method in record class org.microproxy.FlowTimings
From the start of the request to the first byte of the server's response: everything the client waited for that the proxy did not decide alone (lookup, connect, sending, the server).
timings() - Method in class org.microproxy.FlowContext
When the phases of the exchange in progress on this connection (or the last one) happened: DNS lookup, connect, TLS handshakes, time to first byte, total.
timings() - Method in class org.microproxy.FlowRecord
Returns the exchange's phase timings (see FlowContext.timings()).
timings(FlowTimings) - Method in class org.microproxy.FlowRecord.Builder
Sets the phase timings.
tls() - Method in class io.github.mahmoudimus.quic.connection.ClientConfig
The TLS configuration.
tls() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
The TLS configuration.
tls() - Method in record class org.microproxy.ReverseProxyMode
Returns whether the upstream is reached over TLS (https).
TLS_AES_128_GCM_SHA256 - Enum constant in enum class io.github.mahmoudimus.quic.CipherSuite
TLS_AES_128_GCM_SHA256, also used for Initial packets.
TLS_AES_256_GCM_SHA384 - Enum constant in enum class io.github.mahmoudimus.quic.CipherSuite
TLS_AES_256_GCM_SHA384.
TLS_CHACHA20_POLY1305_SHA256 - Enum constant in enum class io.github.mahmoudimus.quic.CipherSuite
TLS_CHACHA20_POLY1305_SHA256.
tlsAlert(int, String) - Static method in exception class io.github.mahmoudimus.quic.QuicException
A TLS alert as a connection error.
TlsAlert - Class in io.github.mahmoudimus.quic.tls
The TLS alert descriptions (RFC 8446 section 6) the handshake raises.
TlsConfig - Class in io.github.mahmoudimus.quic.tls
Configuration for TLS 1.3 handshakes in QUIC, shared by any number of TlsSessions.
TlsConfig.Builder - Class in io.github.mahmoudimus.quic.tls
Builds a TlsConfig.
tlsEndNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the tlsEndNanos record component.
TlsFailed(String, IOException) - Constructor for record class org.microproxy.ProxyFailure.TlsFailed
Creates an instance of a TlsFailed record class.
TlsFingerprints - Class in org.microproxy.extras
TLS client fingerprints of a ClientHello, as access logs show them ( %TLS_JA3_FINGERPRINT%, %TLS_JA4_FINGERPRINT%): JA3, the MD5 of the hello's version, cipher suites, extensions, groups and point formats, and JA4, a readable prefix and two truncated SHA-256 hashes of the sorted cipher suites and extensions.
tlsHandshake() - Method in record class org.microproxy.FlowTimings
How long the TLS handshakes towards the server took.
tlsHandshakeFailed(FlowContext, boolean, Throwable) - Method in interface org.microproxy.ActivityTracker
Called when a TLS handshake failed or timed out, before the failure is handled.
tlsHandshakeTimeout(Duration) - Method in class org.microproxy.HttpFiltersBuilder
The upstream TLS handshake timeout for these requests' new connections, instead of the server's (see HttpFilters.proxyToServerTlsHandshakeTimeout()).
tlsIdentity(Function<String, TlsServerIdentity>) - Method in class org.microproxy.HttpFiltersBuilder
The TLS identity (server name and verification host) of these requests' connections to servers, by the server's host:port; see HttpFilters.proxyToServerTlsIdentity(java.lang.String).
tlsIntercepted() - Method in interface org.microproxy.tcp.TcpContext
Whether the proxy terminated the client's TLS, so the hooks see decrypted bytes: an intercepted session that does not carry HTTP, or a TLS listener in reverse:tcp:// mode.
tlsRetryWithoutSni() - Method in class org.microproxy.ProtocolPolicy
Whether a TLS handshake with a server that rejects the server name the proxy sends with an unrecognized_name alert is tried once more without SNI (see HttpProxyServerBootstrap.withTlsRetryWithoutSni(boolean)).
tlsRetryWithoutSni(boolean) - Method in class org.microproxy.Http1PolicyBuilder
 
tlsRetryWithoutSni(boolean) - Method in class org.microproxy.ProtocolPolicy.Builder
TlsServerIdentity - Record Class in org.microproxy
Who the proxy expects at the other end of a TLS connection to a server, when that is not simply the request's host: the server name it sends in the ClientHello (SNI, RFC 6066 section 3) and the host name the server's certificate is verified against (HTTPS endpoint identification, RFC 9110 section 4.3.4).
TlsServerIdentity(String, String) - Constructor for record class org.microproxy.TlsServerIdentity
Checks and normalizes the names: lower case, without a trailing dot.
tlsSession() - Method in class io.github.mahmoudimus.quic.connection.Connection
The TLS session, for its negotiated parameters and exporter.
TlsSession - Class in io.github.mahmoudimus.quic.tls
A TLS 1.3 handshake for QUIC (RFC 9001), as a sans-I/O state machine modelled on quinn's crypto::Session.
tlsStartNanos() - Method in record class org.microproxy.FlowTimings
Returns the value of the tlsStartNanos record component.
to(PrintStream) - Static method in class org.microproxy.extras.AccessLogWriter
Writes lines to stream, such as System.out, which closing the writer leaves open.
TO_CLIENT - Enum constant in enum class org.microproxy.frames.FrameDirection
Sent by the proxy to the client, before encoding.
TO_SERVER - Enum constant in enum class org.microproxy.frames.FrameDirection
Sent by the proxy to a server, before encoding.
toBuilder() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Copies these settings into a builder.
toBuilder() - Method in record class io.github.mahmoudimus.http3.Http3Settings
A builder starting from these settings.
toBuilder() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
A builder that starts from this configuration, with the same token key.
toBuilder() - Method in class io.github.mahmoudimus.quic.connection.TransportConfig
A builder starting from this configuration.
toBuilder() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
A builder starting from these parameters.
toBuilder() - Method in class org.microproxy.Http2Options
Starts a builder initialized with these settings.
toBuilder() - Method in class org.microproxy.Http3Options
Starts a builder initialized with these settings.
toByteArray() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
A copy of the bytes.
toByteArray() - Method in class io.github.mahmoudimus.quic.ConnectionId
A copy of the bytes.
toByteArray() - Method in class io.github.mahmoudimus.quic.StatelessResetToken
A copy of the bytes.
toByteArray() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns the status serialized as a google.rpc.Status message.
toFrame() - Method in record class io.github.mahmoudimus.http2.Http2Settings
A SETTINGS frame carrying Http2Settings.changedValues().
toFrame() - Method in record class io.github.mahmoudimus.http3.Http3Settings
A SETTINGS frame carrying Http3Settings.values().
token() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.ResetToken
Returns the value of the token record component.
token() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
The token.
token() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
The token.
token() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
The Retry token.
token() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The token of an Initial or Retry packet.
Token - Class in io.github.mahmoudimus.quic.token
An address validation token: a payload and a random nonce.
Token(TokenPayload, byte[]) - Constructor for class io.github.mahmoudimus.quic.token.Token
A token.
tokenKey(TokenKey) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
The key Retry tokens are sealed with; servers behind one address share it.
TokenKey - Class in io.github.mahmoudimus.quic.token
The server's secret for sealing address validation tokens, as quinn does it: an HKDF-SHA256 pseudorandom key from a master key, from which each token derives a one-time AES-256-GCM key using its random nonce as the HKDF info.
TokenKey(byte[]) - Constructor for class io.github.mahmoudimus.quic.token.TokenKey
A key from a master secret.
TokenLog - Interface in io.github.mahmoudimus.quic.token
Limits the reuse of NEW_TOKEN tokens, which attackers could replay to use the server as an amplifier (RFC 9000 section 8.1.4).
TokenMemoryCache - Class in io.github.mahmoudimus.quic.token
A bounded, in-memory TokenStore: up to a number of server names, each with a queue of up to a number of tokens.
TokenMemoryCache() - Constructor for class io.github.mahmoudimus.quic.token.TokenMemoryCache
A cache with quinn's defaults: 256 server names, 2 tokens each.
TokenMemoryCache(int, int) - Constructor for class io.github.mahmoudimus.quic.token.TokenMemoryCache
A cache.
TokenPayload - Interface in io.github.mahmoudimus.quic.token
What an address validation token says, encrypted so that only the server can read it.
TokenPayload.Retry - Record Class in io.github.mahmoudimus.quic.token
A token sent in a Retry packet (RFC 9000 section 8.1.2), bound to the client's address and port, and short-lived since the client returns it at once.
TokenPayload.Validation - Record Class in io.github.mahmoudimus.quic.token
A token sent in a NEW_TOKEN frame (RFC 9000 section 8.1.3), for a later connection.
tokens() - Method in record class io.github.mahmoudimus.quic.connection.SessionCache
Returns the value of the tokens record component.
TokenStore - Interface in io.github.mahmoudimus.quic.token
Where a client keeps the address validation tokens servers send in NEW_TOKEN frames (RFC 9000 section 8.1.3), by server name, to present in the first Initial of a later connection so the server can skip its Retry round trip.
TokenValidator - Class in io.github.mahmoudimus.quic.token
Issues and checks a server's address validation tokens (RFC 9000 section 8.1): Retry tokens, bound to the client's address and port and valid for retryTokenLifetime, and NEW_TOKEN tokens, bound to its IP address, valid for validationTokenLifetime and logged against reuse.
TokenValidator(TokenKey, InstantSource, Duration, Duration, TokenLog, RandomGenerator) - Constructor for class io.github.mahmoudimus.quic.token.TokenValidator
A validator.
TOO_MANY_REQUESTS - Static variable in record class org.microproxy.http.HttpResponseStatus
 
toPlain() - Method in record class org.microproxy.contentviews.ProtoMessage
The message as plain Java values, as scripts see it: see Protobuf.toPlain(org.microproxy.contentviews.ProtoMessage).
toPlain(ProtoMessage) - Static method in class org.microproxy.contentviews.Protobuf
A message as plain Java values, for scripts and quick edits.
toRequest(int, List<HeaderField>) - Static method in class io.github.mahmoudimus.http2.Http2Headers
Validates a decoded request header section.
toRequest(long, List<HeaderField>) - Static method in class io.github.mahmoudimus.http3.Http3Headers
Validates a decoded request header section, accepting extended CONNECT (the caller rejects it if it did not send SETTINGS_ENABLE_CONNECT_PROTOCOL; see Http3Headers.toRequest(long, List, boolean)).
toRequest(long, List<HeaderField>, boolean) - Static method in class io.github.mahmoudimus.http3.Http3Headers
Validates a decoded request header section.
toResponse(int, List<HeaderField>) - Static method in class io.github.mahmoudimus.http2.Http2Headers
Validates a decoded response header section (final or 1xx).
toResponse(long, List<HeaderField>) - Static method in class io.github.mahmoudimus.http3.Http3Headers
Validates a decoded response header section (final or 1xx).
toString() - Method in class io.github.mahmoudimus.http2.FlowControlWindow
 
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Data
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Ping
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Priority
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Settings
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Frame.WindowUpdate
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.HeaderField
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.Http2Settings
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.RequestHeaders
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http2.ResponseHeaders
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.HeaderField
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.CancelPush
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Data
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.GoAway
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Headers
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.MaxPushId
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Settings
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.Http3Settings
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.RequestHeaders
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.http3.ResponseHeaders
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.congestion.BbrConfig
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.congestion.ControllerMetrics
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.congestion.CubicConfig
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.congestion.NewRenoConfig
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.congestion.RateSample
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.Chunk
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.connection.Connection
 
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionError
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Connected
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.ConnectionLost
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.DatagramReceived
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeConfirmed
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.HandshakeDataReady
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathProbeFailed
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.PathUpdated
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.ConnectionEvent.Stream
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Deliver
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.NewConnection
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.Endpoint.DatagramEvent.Response
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidIssued
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.CidRetired
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.Drained
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.EndpointEvent.ResetToken
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.IssuedCid
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.LocalCidState.Retirement
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.PacketSpace.Sendable
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.connection.PathData
 
toString() - Method in record class io.github.mahmoudimus.quic.connection.RangeSet.Range
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.connection.RangeSet
The ranges, as [a..b, c..d].
toString() - Method in record class io.github.mahmoudimus.quic.connection.RecoveryConfig
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.RemoteCidQueue.Retired
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.Retransmits.PendingReset
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.SessionCache
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Available
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Finished
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Opened
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Readable
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Stopped
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamEvent.Writable
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamId
As in client bidirectional stream 0.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamMeta
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.StreamsState.Written
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.connection.Transmit
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.ConnectionId
The bytes in lowercase hexadecimal.
toString() - Method in record class io.github.mahmoudimus.quic.crypto.DirectionalKeys
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.crypto.Keys
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.EndpointStats
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckRange
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.EcnCounts
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.HeaderLayout
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.Packet
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.params.PreferredAddress
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.params.UnknownParameter
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.params.VersionInformation
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.QuicConnection
 
toString() - Method in class io.github.mahmoudimus.quic.QuicStream
 
toString() - Method in record class io.github.mahmoudimus.quic.Secrets
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.StatelessResetToken
The token in lowercase hexadecimal.
toString() - Method in record class io.github.mahmoudimus.quic.tls.CertifiedKey
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.tls.ClientHelloInfo
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.tls.EarlyDataAttempt
Returns a string representation of this record class.
toString() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
 
toString() - Method in record class io.github.mahmoudimus.quic.token.IncomingToken
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Retry
Returns a string representation of this record class.
toString() - Method in record class io.github.mahmoudimus.quic.token.TokenPayload.Validation
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.AuthResult.Accepted
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.AuthResult.Rejected
Returns a string representation of this record class.
toString() - Method in class org.microproxy.cache.CachedResponse
 
toString() - Method in record class org.microproxy.cache.HttpCache.Stats
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ClientHello
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ContentViews.Rendered
Returns a string representation of this record class.
toString() - Method in class org.microproxy.contentviews.ContentViews
 
toString() - Method in record class org.microproxy.contentviews.Grpc.Detail
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.Grpc.Frame
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoField
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoMessage
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoSchema.EnumType
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns a string representation of this record class.
toString() - Method in class org.microproxy.contentviews.ProtoSchema.MessageType
 
toString() - Method in record class org.microproxy.contentviews.ProtoSchema.Method
Returns a string representation of this record class.
toString() - Method in class org.microproxy.contentviews.ProtoSchema
 
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Bytes
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Group
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Message
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Packed
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Text
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.contentviews.ProtoValue.Varint
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Address
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Mx
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Name
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Opaque
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Question
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Soa
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnsMessage.Srv
Returns a string representation of this record class.
toString() - Method in class org.microproxy.dns.DnsMessage
 
toString() - Method in record class org.microproxy.dns.DnsMessage.Txt
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.dns.DnssecHostResolver.Resolution
Returns a string representation of this record class.
toString() - Method in class org.microproxy.extras.AccessLogFormat
 
toString() - Method in class org.microproxy.extras.AccessLogWriter
 
toString() - Method in record class org.microproxy.extras.BlockList.Rule
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.extras.ClientReplay.Result
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns a string representation of this record class.
toString() - Method in class org.microproxy.extras.FlowFilter
 
toString() - Method in class org.microproxy.extras.HttpLogger
 
toString() - Method in record class org.microproxy.extras.MapLocal.Rule
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.extras.MapRemote.Rule
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.extras.RecordedExchange
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.extras.ServerReplay.Extra
Returns a string representation of this record class.
toString() - Method in class org.microproxy.FlowRecord
 
toString() - Method in record class org.microproxy.FlowTimings
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Field
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.Data
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.GoAway
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.Headers
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.Ping
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.Priority
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.RstStream
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.Settings
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.Unknown
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.CancelPush
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.Data
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.GoAway
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.Headers
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.MaxPushId
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.PushPromise
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.Settings
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.frames.Http3Frame.Unknown
Returns a string representation of this record class.
toString() - Method in class org.microproxy.http.DefaultHttpContent
 
toString() - Method in class org.microproxy.http.DefaultHttpRequest
 
toString() - Method in class org.microproxy.http.DefaultHttpResponse
 
toString() - Method in class org.microproxy.http.HttpHeaders
 
toString() - Method in class org.microproxy.http.HttpMethod
 
toString() - Method in record class org.microproxy.http.HttpResponseStatus
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.http.HttpVersion
Returns a string representation of this record class.
toString() - Method in class org.microproxy.http.WebSocketFrame
 
toString() - Method in record class org.microproxy.http.WebSocketMessage
Returns a string representation of this record class.
toString() - Method in class org.microproxy.Http2Options
 
toString() - Method in class org.microproxy.Http3Options
 
toString() - Method in record class org.microproxy.KeyMaterial
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.otel.SpanContext
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.otel.SpanLimits
Returns a string representation of this record class.
toString() - Method in class org.microproxy.otel.Telemetry
 
toString() - Method in record class org.microproxy.PoolMetrics
Returns a string representation of this record class.
toString() - Method in class org.microproxy.ProtocolPolicy
Returns the fields this policy sets, by their configuration names, such as ProtocolPolicy[tls_retry_without_sni=true].
toString() - Method in record class org.microproxy.ProxyFailure.BadRequest
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.BadServerResponse
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.ConnectFailed
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.NoConnectionAvailable
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.NoRoute
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.RequestTooLarge
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.ServerTimeout
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.TlsFailed
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.ProxyFailure.UnresolvedHost
Returns a string representation of this record class.
toString() - Method in class org.microproxy.quic.QuicDatagram
 
toString() - Method in class org.microproxy.quic.QuicFraming
 
toString() - Method in class org.microproxy.quic.QuicMessage
 
toString() - Method in class org.microproxy.quic.QuicStreamMessage
 
toString() - Method in class org.microproxy.RetryBackoff
Returns how the policy is made, such as exponential(PT0.1S, PT2S) or fixed(PT1S).unbudgeted().
toString() - Method in record class org.microproxy.ReverseProxyMode
Returns a string representation of this record class.
toString() - Method in class org.microproxy.ScriptUsage
 
toString() - Method in record class org.microproxy.starlark.StarlarkScript.Limits
Returns a string representation of this record class.
toString() - Method in class org.microproxy.starlark.StarlarkScript
 
toString() - Method in record class org.microproxy.starlark.stdlib.Stdlib.Limits
Returns a string representation of this record class.
toString() - Method in class org.microproxy.stats.Histogram.Snapshot
 
toString() - Method in class org.microproxy.stats.StatsdSink
 
toString() - Method in class org.microproxy.stats.StatsRegistry
 
toString() - Method in record class org.microproxy.stats.Tag
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.stats.TagExtractor.Result
Returns a string representation of this record class.
toString() - Method in record class org.microproxy.stats.TagExtractor.Rule
Returns a string representation of this record class.
toString() - Method in class org.microproxy.tcp.TcpMessage
 
toString() - Method in record class org.microproxy.TlsServerIdentity
Returns a string representation of this record class.
toString() - Method in class org.microproxy.udp.UdpMessage
 
toString() - Method in class org.microproxy.UpstreamProxyManager
Returns the upstream proxies, their credentials masked (http://***@host:port), and whether direct is a fallback.
toString() - Method in record class org.microproxy.warc.WarcReader.Record
Returns a string representation of this record class.
total() - Method in record class org.microproxy.FlowTimings
From the start of the request to the end of the response sent to the client.
totalConnections() - Method in record class org.microproxy.PoolMetrics
Returns the value of the totalConnections record component.
toTrailer() - Method in record class org.microproxy.contentviews.Grpc.Status
Returns the value of a grpc-status-details-bin field carrying this status.
toWire(boolean) - Method in class org.microproxy.http.WebSocketFrame
The frame encoded for sending: masked with a fresh random key when masked (frames towards a server), unmasked otherwise.
trace() - Method in class org.microproxy.FlowContext
The distributed trace of the exchange in progress on this connection (or the last one), made by the proxy's FlowTracer: its trace and span ids, and the span a filter may add attributes and events to.
trace() - Method in class org.microproxy.FlowRecord
The exchange's distributed trace (FlowTracer), whose ids access logs show as %TRACE_ID% and %SPAN_ID%; FlowTrace.NONE when nothing traced it.
trace(FlowTrace) - Method in class org.microproxy.FlowRecord.Builder
Sets the exchange's distributed trace.
TRACE - Static variable in class org.microproxy.http.HttpMethod
The TRACE request method.
TRACE_CONTEXT - Static variable in class org.microproxy.otel.Propagators
W3C Trace Context (traceparent, tracestate), version 00.
traceId() - Method in interface org.microproxy.FlowTrace
Returns the trace id, 32 lower-case hex digits, or null for no trace.
traceIdHex() - Method in record class org.microproxy.otel.SpanContext
Returns the trace id as 32 lower-case hex digits.
traceIdHigh() - Method in record class org.microproxy.otel.SpanContext
Returns the value of the traceIdHigh record component.
traceIdLow() - Method in record class org.microproxy.otel.SpanContext
Returns the value of the traceIdLow record component.
traceIdRatio(double) - Static method in interface org.microproxy.otel.Sampler
A sampler that samples a fraction of traces, decided by the trace id alone, so every process of a trace decides the same: the last 8 bytes of the id, as a signed number, are compared with ratio times Long.MAX_VALUE, as OpenTelemetry's Java SDK does.
traces(boolean) - Method in class org.microproxy.otel.Telemetry.Builder
Whether spans are exported (OTEL_TRACES_EXPORTER); without them the proxy still propagates.
tracesEndpoint(String) - Method in class org.microproxy.otel.Telemetry.Builder
The URL spans go to, as it is (OTEL_EXPORTER_OTLP_TRACES_ENDPOINT).
traceState() - Method in record class org.microproxy.otel.SpanContext
Returns the value of the traceState record component.
TRACING_HEADERS - Static variable in class org.microproxy.http.HttpHeaderNames
Distributed tracing headers: W3C Trace Context and Baggage, B3 (single and multiple header forms), and the trace headers of other common tracing systems (uber-trace-id, X-Amzn-Trace-Id, X-Cloud-Trace-Context, gRPC's grpc-trace-bin, sentry-trace).
TRAILER - Static variable in class org.microproxy.http.HttpHeaderNames
The Trailer header field name.
trailers() - Method in record class org.microproxy.contentviews.ContentView.Metadata
Returns the value of the trailers record component.
trailers() - Method in class org.microproxy.FlowRecord
Returns the response's trailers, or null when it had none.
trailers(HttpHeaders) - Method in class org.microproxy.FlowRecord.Builder
Sets the response's trailers.
trailersReceived() - Method in class io.github.mahmoudimus.http3.Http3StreamValidator
Whether trailers have been received on a request or push stream.
trailingHeaders() - Method in class org.microproxy.http.DefaultFullHttpRequest
 
trailingHeaders() - Method in class org.microproxy.http.DefaultFullHttpResponse
 
trailingHeaders() - Method in class org.microproxy.http.DefaultLastHttpContent
 
trailingHeaders() - Method in interface org.microproxy.http.LastHttpContent
Returns the mutable trailer fields following the body.
TRANSFER_ENCODING - Static variable in class org.microproxy.http.HttpHeaderNames
The Transfer-Encoding header field name.
Transmit - Record Class in io.github.mahmoudimus.quic.connection
A datagram a Connection wants sent: usually to the peer's address on the current path, but a PATH_CHALLENGE or PATH_RESPONSE may go to another address, or (on a client probing a new path, Connection.probePath(long, java.net.InetSocketAddress)) from another local address.
Transmit(long, long, boolean) - Constructor for record class io.github.mahmoudimus.quic.connection.SendBuffer.Transmit
Creates an instance of a Transmit record class.
Transmit(ByteBuffer, InetSocketAddress, InetSocketAddress) - Constructor for record class io.github.mahmoudimus.quic.connection.Transmit
A datagram to send.
transparentMaxBufferedBytes() - Method in class org.microproxy.Http3Options
Returns the bytes of datagrams the transparent QUIC listener holds for new clients, all together.
transparentMaxBufferedBytes(long) - Method in class org.microproxy.Http3Options.Builder
The bytes of datagrams the transparent QUIC listener holds for all its new clients together (default 8 MiB); each one may hold 16 datagrams at most.
transparentMaxPending() - Method in class org.microproxy.Http3Options
Returns the new clients the transparent QUIC listener holds at once while it reads their ClientHellos.
transparentMaxPending(int, int) - Method in class org.microproxy.Http3Options.Builder
The new clients (half-open QUIC flows: Initials whose ClientHello is being read or decided on) the transparent QUIC listener holds at once (default 1024), and from one IP address (default 32).
transparentMaxPendingPerSource() - Method in class org.microproxy.Http3Options
Returns the new clients from one IP address that the transparent QUIC listener holds at once.
transparentMaxRelayFlows() - Method in class org.microproxy.Http3Options
Returns the QUIC flows the transparent QUIC listener relays at once, each with a socket of its own.
transparentMaxRelayFlows(int, int) - Method in class org.microproxy.Http3Options.Builder
The QUIC flows the transparent QUIC listener relays at once (default 4096), and for one IP address (default 256); each has a UDP socket to its server.
transparentMaxRelayFlowsPerSource() - Method in class org.microproxy.Http3Options
Returns the relayed QUIC flows of one IP address at once.
transparentPendingTimeout() - Method in class org.microproxy.Http3Options
Returns how long the transparent QUIC listener waits for a new client's complete ClientHello, and its decision.
transparentPendingTimeout(Duration) - Method in class org.microproxy.Http3Options.Builder
How long the transparent QUIC listener holds a new client's datagrams (default 5 s) for its ClientHello to complete and the proxy to decide on it; a client still pending then is forgotten, its datagrams dropped.
transparentQuicFlowDecided(FlowContext, ClientHello, boolean, String) - Method in interface org.microproxy.ActivityTracker
Called when the transparent QUIC listener (HttpProxyServerBootstrap.withTransparentQuicPort(int)) has decided what to do with a new client flow, from its ClientHello: intercept it (its HTTP/3 requests then come as for any client), or relay its datagrams to the server untouched.
transparentRelayIdleTimeout() - Method in class org.microproxy.Http3Options
Returns how long a relayed QUIC flow of the transparent QUIC listener lives without a datagram either way.
transparentRelayIdleTimeout(Duration) - Method in class org.microproxy.Http3Options.Builder
How long a QUIC flow that the transparent QUIC listener relays untouched (an ignored host, a client offering no HTTP/3) lives without a datagram in either direction (default 60 s), after which its socket to the server is closed.
transport() - Method in class io.github.mahmoudimus.quic.connection.ClientConfig
The transport settings.
transport() - Method in class io.github.mahmoudimus.quic.connection.ServerConfig
The transport settings of accepted connections.
transport(TransportConfig) - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
The transport settings.
transport(TransportConfig) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
The transport settings.
transport(QuicException) - Static method in record class io.github.mahmoudimus.quic.connection.ConnectionError
A protocol error this endpoint detected.
transport(DnsTransport) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
A custom transport (e.g.
TRANSPORT_ERROR - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
This endpoint detected a protocol error and closed the connection.
TRANSPORT_PARAMETER_ERROR - Static variable in exception class io.github.mahmoudimus.quic.QuicException
Transport parameters were malformed, missing or invalid.
TransportConfig - Class in io.github.mahmoudimus.quic.connection
The transport settings of a connection, the same for both sides: flow-control windows, stream limits, timeouts, loss detection, congestion control, MTU discovery, DATAGRAM support and the debugging aids.
TransportConfig.Builder - Class in io.github.mahmoudimus.quic.connection
Builds a TransportConfig.
TransportConfig.CongestionControl - Enum Class in io.github.mahmoudimus.quic.connection
The congestion controllers this module provides.
transportParameters() - Method in class io.github.mahmoudimus.quic.tls.SessionTicket
The server's encoded QUIC transport parameters from the session the ticket came from.
TransportParameters - Record Class in io.github.mahmoudimus.quic.params
QUIC transport parameters (RFC 9000 section 18), with the extensions max_datagram_frame_size (RFC 9221), grease_quic_bit (RFC 9287), version_information (RFC 9368) and the ACK frequency draft's min_ack_delay.
TransportParameters(ConnectionId, long, StatelessResetToken, long, long, long, long, long, long, long, long, long, boolean, PreferredAddress, long, ConnectionId, ConnectionId, long, boolean, long, VersionInformation, List<UnknownParameter>) - Constructor for record class io.github.mahmoudimus.quic.params.TransportParameters
Transport parameters.
TransportParameters.Builder - Class in io.github.mahmoudimus.quic.params
Builds TransportParameters, starting from the defaults.
truncate(long, int) - Static method in class io.github.mahmoudimus.quic.packet.PacketNumber
The low bytes of a packet number.
trustAll() - Static method in class org.microproxy.tls.SslContexts
A context that trusts every server.
trustAllCertificates(boolean) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Client: accept any server certificate without validating its chain or name.
trustAnchors(List<String>) - Method in class org.microproxy.dns.DnssecHostResolver.Builder
Root DS records in the form ". 20326 8 2 E06D..."; defaults to the IANA anchors.
trustIncoming(boolean) - Method in class org.microproxy.otel.Telemetry.Builder
Whether to continue the traces clients send (the default), or start a new trace for every request, as a trust boundary.
trusting(X509Certificate...) - Static method in class org.microproxy.tls.SslContexts
A context that trusts only the given certificates.
TrustingTrustManager - Class in org.microproxy.tls
Trusts every certificate and host name.
TrustingTrustManager() - Constructor for class org.microproxy.tls.TrustingTrustManager
Creates a trust manager that accepts every peer certificate.
trustManager(X509TrustManager) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Client: the trust manager that validates the server's chain.
trustManagerOf(SSLContext) - Static method in class org.microproxy.tls.SslContexts
How a context made by this class validates servers: its trust manager, which trusts every server for SslContexts.trustAll().
trustsAll(X509TrustManager) - Static method in class org.microproxy.tls.SslContexts
Whether trustManager trusts every server without checking, as SslContexts.trustAll()'s does.
ttl() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns the value of the ttl record component.
TUNNEL - Enum constant in enum class org.microproxy.FlowRecord.Kind
A CONNECT tunnel, over HTTP/1, HTTP/2 or HTTP/3, or a transparent TLS connection (tunnel).
Txt(List<String>) - Constructor for record class org.microproxy.dns.DnsMessage.Txt
Copies the list.
TXT - Static variable in class org.microproxy.dns.DnsMessage
Type TXT: text strings.
type() - Method in record class io.github.mahmoudimus.http2.Frame.Continuation
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.Data
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.GoAway
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.Headers
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.Ping
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.Priority
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.PushPromise
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.RstStream
 
type() - Method in record class io.github.mahmoudimus.http2.Frame.Settings
 
type() - Method in interface io.github.mahmoudimus.http2.Frame
The frame type code, one of the FrameType constants (or any value for Frame.Unknown).
type() - Method in record class io.github.mahmoudimus.http2.Frame.Unknown
Returns the value of the type record component.
type() - Method in record class io.github.mahmoudimus.http2.Frame.WindowUpdate
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.CancelPush
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Data
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.GoAway
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Headers
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.MaxPushId
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.PushPromise
 
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Settings
 
type() - Method in interface io.github.mahmoudimus.http3.Http3Frame
The frame type code: one of the Http3FrameType constants, or any other for Http3Frame.Unknown.
type() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Returns the value of the type record component.
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
 
type() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
 
type() - Method in interface io.github.mahmoudimus.quic.frame.Frame
The frame type.
type() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
 
type() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
 
type() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
 
type() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Short
 
type() - Method in interface io.github.mahmoudimus.quic.packet.PacketHeader
The packet type.
type() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
 
type() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
 
type() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The packet type.
type() - Method in record class org.microproxy.contentviews.ProtoMessage
Returns the value of the type record component.
type() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns the value of the type record component.
type() - Method in record class org.microproxy.dns.DnsMessage.Question
Returns the value of the type record component.
type() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns the value of the type record component.
type() - Method in record class org.microproxy.frames.Http2Frame.Unknown
Returns the value of the type record component.
type() - Method in record class org.microproxy.frames.Http3Frame.Unknown
Returns the value of the type record component.
type() - Method in record class org.microproxy.http.WebSocketMessage
Returns the value of the type record component.
type() - Method in interface org.microproxy.stats.Counter
 
type() - Method in interface org.microproxy.stats.Gauge
 
type() - Method in interface org.microproxy.stats.Histogram
 
type() - Method in interface org.microproxy.stats.Metric
Returns what kind of metric this is.
type() - Method in record class org.microproxy.warc.WarcReader.Record
Returns the record type (WARC-Type), such as response; empty if missing.
type(String) - Static method in class org.microproxy.dns.DnsMessage
The type a mnemonic names.
TYPE_CANCEL_PUSH - Static variable in interface org.microproxy.frames.Http3Frame
The type code of CANCEL_PUSH.
TYPE_CONTINUATION - Static variable in interface org.microproxy.frames.Http2Frame
The type code of CONTINUATION, which interceptors never see (it is folded into HEADERS).
TYPE_DATA - Static variable in interface org.microproxy.frames.Http2Frame
The type code of DATA.
TYPE_DATA - Static variable in interface org.microproxy.frames.Http3Frame
The type code of DATA.
TYPE_GOAWAY - Static variable in interface org.microproxy.frames.Http2Frame
The type code of GOAWAY.
TYPE_GOAWAY - Static variable in interface org.microproxy.frames.Http3Frame
The type code of GOAWAY.
TYPE_HEADERS - Static variable in interface org.microproxy.frames.Http2Frame
The type code of HEADERS.
TYPE_HEADERS - Static variable in interface org.microproxy.frames.Http3Frame
The type code of HEADERS.
TYPE_MAX_PUSH_ID - Static variable in interface org.microproxy.frames.Http3Frame
The type code of MAX_PUSH_ID.
TYPE_PING - Static variable in interface org.microproxy.frames.Http2Frame
The type code of PING.
TYPE_PRIORITY - Static variable in interface org.microproxy.frames.Http2Frame
The type code of PRIORITY.
TYPE_PUSH_PROMISE - Static variable in interface org.microproxy.frames.Http2Frame
The type code of PUSH_PROMISE.
TYPE_PUSH_PROMISE - Static variable in interface org.microproxy.frames.Http3Frame
The type code of PUSH_PROMISE.
TYPE_RST_STREAM - Static variable in interface org.microproxy.frames.Http2Frame
The type code of RST_STREAM.
TYPE_SETTINGS - Static variable in interface org.microproxy.frames.Http2Frame
The type code of SETTINGS.
TYPE_SETTINGS - Static variable in interface org.microproxy.frames.Http3Frame
The type code of SETTINGS.
TYPE_WINDOW_UPDATE - Static variable in interface org.microproxy.frames.Http2Frame
The type code of WINDOW_UPDATE.
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ack
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.AckFrequency
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ApplicationClose
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ConnectionClose
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Crypto
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.DataBlocked
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Datagram
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.HandshakeDone
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ImmediateAck
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxData
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreamData
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.MaxStreams
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewConnectionId
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.NewToken
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Padding
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathChallenge
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.PathResponse
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Ping
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.ResetStream
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.RetireConnectionId
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StopSending
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.Stream
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamDataBlocked
 
typeCode() - Method in record class io.github.mahmoudimus.quic.frame.Frame.StreamsBlocked
 
typeCode() - Method in interface io.github.mahmoudimus.quic.frame.Frame
The exact type code this frame encodes with, flags included.
typeCode() - Method in record class org.microproxy.frames.Http2Frame.Data
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.GoAway
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.Headers
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.Ping
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.Priority
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.RstStream
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.Settings
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.Unknown
 
typeCode() - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.CancelPush
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.Data
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.GoAway
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.Headers
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.MaxPushId
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.PushPromise
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.Settings
 
typeCode() - Method in record class org.microproxy.frames.Http3Frame.Unknown
 
typeCode() - Method in interface org.microproxy.frames.HttpFrame
The frame type's code on the wire.
typeName() - Method in record class org.microproxy.contentviews.ProtoSchema.Field
Returns the value of the typeName record component.
typeName() - Method in record class org.microproxy.dns.DnsMessage.Question
Returns the type's mnemonic, such as A, or TYPE<n>.
typeName() - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
Returns the type's mnemonic, such as A, or TYPE<n>.
typeName() - Method in record class org.microproxy.frames.Http2Frame.Data
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.GoAway
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.Headers
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.Ping
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.Priority
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.PushPromise
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.RstStream
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.Settings
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.Unknown
 
typeName() - Method in record class org.microproxy.frames.Http2Frame.WindowUpdate
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.CancelPush
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.Data
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.GoAway
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.Headers
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.MaxPushId
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.PushPromise
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.Settings
 
typeName() - Method in record class org.microproxy.frames.Http3Frame.Unknown
 
typeName() - Method in interface org.microproxy.frames.HttpFrame
The frame type's name as the protocol's RFC spells it (DATA, HEADERS, SETTINGS, ...), or UNKNOWN for an extension or reserved type.
typeName(int) - Static method in class org.microproxy.dns.DnsMessage
The mnemonic of a type.
typeUrl() - Method in record class org.microproxy.contentviews.Grpc.Detail
Returns the value of the typeUrl record component.

U

u16() - Static method in interface org.microproxy.quic.MessageFramer
A two-byte big-endian length prefix, as DNS over QUIC (RFC 9250 section 4.2) and DNS over TCP frame their messages: payloads up to 65535 bytes.
u32() - Static method in interface org.microproxy.quic.MessageFramer
A four-byte big-endian length prefix: payloads up to 232 - 1 bytes, bounded by QuicFraming.maxMessageSize().
udp(List<InetSocketAddress>, Duration) - Static method in interface org.microproxy.dns.DnsTransport
UDP to each server in turn, retrying over TCP when a response is truncated.
UDP - Enum constant in enum class org.microproxy.FlowRecord.Kind
A CONNECT-UDP (MASQUE) flow (udp).
UdpContext - Interface in org.microproxy.udp
One UDP flow, as a UdpInterceptor sees it: where it goes, and a way to add datagrams.
udpEnd(UdpContext) - Method in interface org.microproxy.udp.UdpInterceptor
The flow ended: the client closed or reset its stream, the flow was idle for the idle timeout, or its socket failed.
udpInterceptor() - Method in class org.microproxy.starlark.ScriptedProxy
An interceptor that calls the script's on_udp_start(ctx), on_udp_message(msg, ctx) and on_udp_end(ctx), for HttpProxyServerBootstrap.withUdpInterceptor(org.microproxy.udp.UdpInterceptor): the datagrams of CONNECT-UDP flows.
UdpInterceptor - Interface in org.microproxy.udp
Sees, rewrites, drops and adds the datagrams of UDP flows the proxy relays: the UDP counterpart of TcpInterceptor, as mitmproxy's udp_message hooks.
udpMessage(UdpMessage, UdpContext) - Method in interface org.microproxy.udp.UdpInterceptor
A datagram from one side, before it is passed on.
UdpMessage - Class in org.microproxy.udp
One datagram's payload in a UDP flow the proxy relays, as a UdpInterceptor sees it.
UdpMessage(byte[], boolean, Instant) - Constructor for class org.microproxy.udp.UdpMessage
A message.
udpStart(UdpContext) - Method in interface org.microproxy.udp.UdpInterceptor
A flow opened: the client's CONNECT-UDP was accepted and the proxy's socket to the target is ready, nothing has been relayed yet.
UINT32 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
uint32: varint.
UINT64 - Enum constant in enum class org.microproxy.contentviews.ProtoSchema.Type
uint64: varint.
UNAUTHORIZED - Static variable in record class org.microproxy.http.HttpResponseStatus
 
UNAUTHORIZED_EXTERNAL_SERVICE - Enum constant in enum class org.microproxy.ResponseFlag
UAEX: the client was refused by the proxy authenticator.
unbound(InetSocketAddress, ServerConfig, EndpointConfig, QuicServer.DatagramFilter, QuicServer.DatagramSink) - Static method in class io.github.mahmoudimus.quic.QuicServer
A server without a socket, for QUIC over another transport: its owner hands it the datagrams it receives (QuicServer.receive(java.net.InetSocketAddress, java.nio.ByteBuffer)), and it hands those it sends to sink.
unbudgeted() - Method in class org.microproxy.RetryBackoff
This policy without a budget: every wait it names is waited, however long they add up to (the route list and each wait's RetryBackoff.max() still bound them), as LittleProxy forks that added a backoff did.
UNCONDITIONAL_DROP_OVERLOAD - Enum constant in enum class org.microproxy.ResponseFlag
UDO: the request was dropped unconditionally under overload.
UNEXPECTED_MESSAGE - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A message arrived out of order or where it is not allowed (10).
UNI - Enum constant in enum class io.github.mahmoudimus.quic.connection.Dir
Unidirectional: data flows from the initiator only.
UnidirectionalStreams(Http3StreamValidator.Role) - Constructor for class io.github.mahmoudimus.http3.Http3StreamValidator.UnidirectionalStreams
Tracks the peer's unidirectional streams.
uniform(Object, Object) - Method in class org.microproxy.starlark.stdlib.RandomModule
Interpolates between two numeric endpoints using a random fraction.
uniqueId() - Method in class org.microproxy.FlowRecord
An id unique to this exchange or flow: its trace's request id (X-Request-Id) when it has one, else a random UUID made the first time it is asked for.
uniqueId(String) - Method in class org.microproxy.FlowRecord.Builder
Fixes the unique id instead of making a random one when asked.
unknown(int, int, int, byte[]) - Static method in interface org.microproxy.frames.Http2Frame
A frame of an extension type to inject; peers ignore types they do not know.
unknown(long, byte[]) - Static method in interface org.microproxy.frames.Http3Frame
A frame of an extension type to inject; peers ignore types they do not know.
Unknown(int, int, int, byte[]) - Constructor for record class io.github.mahmoudimus.http2.Frame.Unknown
Creates an extension frame with an eight-bit type and flags.
Unknown(int, int, int, byte[]) - Constructor for record class org.microproxy.frames.Http2Frame.Unknown
Creates an extension frame.
Unknown(long, byte[]) - Constructor for record class io.github.mahmoudimus.http3.Http3Frame.Unknown
Creates a frame of an extension or reserved type.
Unknown(long, byte[]) - Constructor for record class org.microproxy.frames.Http3Frame.Unknown
Creates an extension frame.
UNKNOWN_CA - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
The certificate chain does not lead to a trusted certificate authority (48).
UNKNOWN_PSK_IDENTITY - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A PSK identity was not recognized (115).
UnknownParameter - Record Class in io.github.mahmoudimus.quic.params
A transport parameter this module does not interpret, kept as received: a reserved (GREASE) parameter or an extension.
UnknownParameter(long, byte[]) - Constructor for record class io.github.mahmoudimus.quic.params.UnknownParameter
An unknown parameter.
unknownParameters() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the unknownParameters record component.
UNLIMITED - Static variable in record class io.github.mahmoudimus.http2.Http2Settings
No limit: the initial value of MAX_CONCURRENT_STREAMS and MAX_HEADER_LIST_SIZE.
UNLIMITED - Static variable in record class io.github.mahmoudimus.http3.Http3Settings
No limit: the initial value of MAX_FIELD_SECTION_SIZE.
unpackVarints(byte[]) - Static method in class org.microproxy.contentviews.Protobuf
Reads bytes as packed varints, as a packed repeated integer field holds them.
unprotect(DirectionalKeys, long) - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Removes header and payload protection in one step, for levels without key phases.
unprotect(ByteBuffer, int, int) - Method in class io.github.mahmoudimus.quic.crypto.HeaderKey
Removes header protection in place.
UNRECOGNIZED_NAME - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
The server does not recognize the server name the client asked for (112).
UnresolvedHost(String, UnknownHostException) - Constructor for record class org.microproxy.ProxyFailure.UnresolvedHost
Creates an instance of a UnresolvedHost record class.
unsigned() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
Returns the bits as an unsigned number.
unsigned() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
Returns the bits as an unsigned 64-bit decimal number.
unsigned() - Method in record class org.microproxy.contentviews.ProtoValue.Varint
Returns the value as an unsigned 64-bit decimal number.
UNSUPPORTED_CERTIFICATE - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A certificate of an unsupported type (43).
UNSUPPORTED_EXTENSION - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
A message carried an extension that was not offered or not allowed there (110).
UnsupportedVersionException - Exception Class in io.github.mahmoudimus.quic.packet
A long header packet of a version this endpoint does not speak.
UnsupportedVersionException(int, byte[], byte[]) - Constructor for exception class io.github.mahmoudimus.quic.packet.UnsupportedVersionException
An unsupported version.
unvalidated(ConnectionId) - Static method in record class io.github.mahmoudimus.quic.token.IncomingToken
No usable token: the address is not validated.
update(long, long) - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
Takes an RTT sample (RFC 9002 section 5.3).
update(Secrets, boolean, QuicVersion) - Method in record class io.github.mahmoudimus.quic.crypto.Keys
The keys of the next key phase: new packet keys from the next secrets, with these header keys, which a key update does not change (RFC 9001 section 6).
update(Object) - Method in class org.microproxy.starlark.stdlib.HashlibModule.HashObject
Feeds additional bytes into this hash object.
update(Object) - Method in class org.microproxy.starlark.stdlib.HashlibModule.HmacObject
Feeds additional bytes into this HMAC object.
updateInitialCid(ConnectionId) - Method in class io.github.mahmoudimus.quic.connection.RemoteCidQueue
Replaces the initial ID, after a Retry or the server's first Initial.
updateKeys() - Method in class io.github.mahmoudimus.quic.QuicConnection
Starts a key update (RFC 9001 section 6).
UPGRADE - Static variable in class org.microproxy.http.HttpHeaderNames
The Upgrade header field name.
upperBound() - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
Returns the value of the upperBound record component.
upstream(InetSocketAddress, InetSocketAddress, String, SSLSession) - Method in class org.microproxy.FlowRecord.Builder
Sets what the exchange was connected to.
UPSTREAM_CONNECTION_FAILURE - Enum constant in enum class org.microproxy.ResponseFlag
UF: no connection could be made to the server, or its TLS handshake failed.
UPSTREAM_CONNECTION_TERMINATION - Enum constant in enum class org.microproxy.ResponseFlag
UC: the server closed the connection before its response head was complete.
UPSTREAM_MAX_STREAM_DURATION_REACHED - Enum constant in enum class org.microproxy.ResponseFlag
UMSDR: the upstream stream reached its maximum duration.
UPSTREAM_OVERFLOW - Enum constant in enum class org.microproxy.ResponseFlag
UO: no server connection was available (the shared pool was exhausted).
UPSTREAM_PROTOCOL_ERROR - Enum constant in enum class org.microproxy.ResponseFlag
UPE: the server's response was malformed.
UPSTREAM_REMOTE_RESET - Enum constant in enum class org.microproxy.ResponseFlag
UR: the server reset the stream or closed the connection mid-response.
UPSTREAM_REQUEST_TIMEOUT - Enum constant in enum class org.microproxy.ResponseFlag
UT: the server did not answer within the idle timeout.
UPSTREAM_RETRY_LIMIT_EXCEEDED - Enum constant in enum class org.microproxy.ResponseFlag
URX: every route was tried (with backoff between chained proxies) and failed.
upstreamAddress() - Method in class org.microproxy.FlowRecord
Returns the address the proxy was connected to for the exchange: the server, or a chained proxy; or null.
upstreamBytes(long, long) - Method in class org.microproxy.FlowRecord.Builder
Sets the bytes exchanged with the server, on the wire.
upstreamBytesReceived() - Method in class org.microproxy.FlowRecord
Returns the bytes read from the server connection, heads and framing included, or -1 when unknown.
upstreamBytesSent() - Method in class org.microproxy.FlowRecord
Returns the bytes written to the server connection, heads and framing included, or -1 when unknown.
upstreamCluster() - Method in class org.microproxy.FlowRecord
The name of where the exchange went: the chained proxy it went through (host:port), or else the server's host:port.
upstreamFailureTimeout() - Method in class org.microproxy.Http3Options
Returns how long a server whose QUIC handshake failed is reached over TCP only.
upstreamFailureTimeout(Duration) - Method in class org.microproxy.Http3Options.Builder
How long a server whose QUIC handshake failed or timed out is reached over TCP only (default 5 minutes), before HTTP/3 is tried again.
upstreamHandshakeTimeout() - Method in class org.microproxy.Http3Options
Returns how long a QUIC handshake with a server may take before its request goes over TCP instead.
upstreamHandshakeTimeout(Duration) - Method in class org.microproxy.Http3Options.Builder
How long a QUIC handshake with a server may take (default 1 s) before the request goes over TCP instead; the server then stays on TCP for the Http3Options.Builder.upstreamFailureTimeout.
upstreamLocalAddress() - Method in class org.microproxy.FlowRecord
Returns the proxy's local address on its connection to the server, or null.
upstreamProtocol() - Method in class org.microproxy.FlowRecord
The protocol the proxy spoke to FlowRecord.upstreamCluster(): to the chained proxy the exchange went through, HTTP/1.1 or HTTP/2 (for a tunnel, the protocol its CONNECT went in), SOCKS4 or SOCKS5; else to the server, HTTP/1.1, HTTP/2 or HTTP/3.
upstreamProtocol(String) - Method in class org.microproxy.FlowRecord.Builder
Sets the protocol spoken to the upstream (FlowRecord.upstreamProtocol()).
UpstreamProxyManager - Class in org.microproxy
A ChainedProxyManager configured like command-line HTTP clients: an upstream proxy URL for plain HTTP, one for HTTPS (CONNECT), and NoProxyRules for hosts reached directly.
UpstreamProxyManager(String, String, NoProxyRules) - Constructor for class org.microproxy.UpstreamProxyManager
Creates upstream routing with protocol-specific proxies and bypass rules.
upstreamRequest(boolean, HttpVersion) - Method in interface org.microproxy.FlowTrace
The exchange's request is about to go to the server on the current attempt's connection, as that connection really is.
upstreamSslSession() - Method in class org.microproxy.FlowRecord
Returns the TLS session with the server (or a TLS chained proxy), or null.
upstreamStatus() - Method in class org.microproxy.FlowContext
The status of the final response the server sent for the exchange in progress on this connection (or the last one), even when a filter or the cache changed or replaced it before it reached the client; empty when no server response was received (the proxy or a filter answered, or the server failed).
upstreamTransportFailureReason() - Method in class org.microproxy.FlowRecord
Returns why the TLS handshake with the server failed, or null.
upstreamTransportFailureReason(String) - Method in class org.microproxy.FlowRecord.Builder
Sets why the TLS handshake with the server failed.
upstreamZeroRtt() - Method in class org.microproxy.Http3Options
Whether requests that are safe to replay go to HTTP/3 servers as 0-RTT early data when the proxy resumes a session with them: on by default.
upstreamZeroRtt(boolean) - Method in class org.microproxy.Http3Options.Builder
Whether the proxy sends requests to HTTP/3 servers as 0-RTT early data when it resumes a session with them (default on).
urandom(StarlarkInt) - Method in class org.microproxy.starlark.stdlib.RandomModule
Produces cryptographically strong random bytes.
uri() - Method in class org.microproxy.http.DefaultHttpRequest
 
uri() - Method in interface org.microproxy.http.HttpRequest
Returns the request-target exactly as it appears on the request line.
url() - Method in interface org.microproxy.extras.FlowFilter.Flow
Returns the absolute URL of the request.
url() - Method in record class org.microproxy.extras.RecordedExchange
Returns the value of the url record component.
usage() - Method in interface org.microproxy.LauncherExtension
Returns help lines for the options this extension adds, formatted like the built-in ones.
usage() - Method in class org.microproxy.otel.OtelLauncherExtension
 
usage() - Method in class org.microproxy.starlark.StarlarkLauncherExtension
 
used(Metric) - Static method in class org.microproxy.stats.StatsFormatter
Whether metric has been used, as Envoy's usedonly asks: a counter or gauge that is not zero, a histogram with values.
usedHelloRetryRequest() - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Whether the server sent a HelloRetryRequest, asking for a key share in another group.
useHeaders(String...) - Method in class org.microproxy.extras.ServerReplay.Builder
Request headers that must match too.
USER_AGENT - Static variable in class org.microproxy.http.HttpHeaderNames
The User-Agent header field name.
USER_CANCELED - Static variable in class io.github.mahmoudimus.quic.tls.TlsAlert
The user cancelled the handshake (90).
userName() - Method in record class org.microproxy.AuthResult.Accepted
Returns the value of the userName record component.
usesHttp2() - Method in class org.microproxy.UpstreamProxyManager
Returns whether any of the upstream proxies is spoken to in HTTP/2 (h2:// or h2c://).
usesRequestBody() - Method in class org.microproxy.extras.FlowFilter
Returns whether the expression looks at the request body (~b, ~bq).
usesResponseBody() - Method in class org.microproxy.extras.FlowFilter
Returns whether the expression looks at the response body (~b, ~bs).
utf8() - Method in record class org.microproxy.contentviews.ProtoValue.Text
Returns the text as UTF-8, as it is encoded.

V

V1 - Enum constant in enum class io.github.mahmoudimus.quic.QuicVersion
QUIC version 1, 0x00000001 (RFC 9000).
V2 - Enum constant in enum class io.github.mahmoudimus.quic.QuicVersion
QUIC version 2, 0x6b3343cf (RFC 9369).
validate() - Method in class org.microproxy.quic.QuicFraming
Checks that every rule names a framer there is.
validate(byte[], ConnectionId, InetSocketAddress) - Method in class io.github.mahmoudimus.quic.token.TokenValidator
Checks the token of a client's first Initial packet.
validate(int, long) - Static method in record class io.github.mahmoudimus.http2.Http2Settings
Checks one received setting (RFC 9113 §6.5.2).
validate(long, long) - Static method in record class io.github.mahmoudimus.http3.Http3Settings
Checks one received setting.
validate(ConnectionId) - Method in interface io.github.mahmoudimus.quic.connection.ConnectionIdGenerator
Whether an ID could have come from this generator, to drop stray packets cheaply.
validate(List<Field>) - Static method in record class org.microproxy.frames.Field
Checks that fields can be sent as an HTTP/2 or HTTP/3 header block: names that are non-empty lower-case tokens; values without NUL, CR or LF and without leading or trailing white space; pseudo-headers that are known (:method, :scheme, :authority, :path, :protocol or :status), not repeated, all before the regular fields, and not mixing a request's with a response's; and no connection-specific field (connection, keep-alive, proxy-connection, transfer-encoding, upgrade, and te other than trailers).
validated() - Method in record class io.github.mahmoudimus.quic.token.IncomingToken
Returns the value of the validated record component.
validateResumptionFrom(TransportParameters) - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Checks, on a client whose 0-RTT data the server accepted, that the server's new parameters allow all it may have sent under the remembered ones (quinn's validate_resumption_from).
validateTrailers(int, List<HeaderField>) - Static method in class io.github.mahmoudimus.http2.Http2Headers
Validates a trailer section: regular fields only.
validateTrailers(long, List<HeaderField>) - Static method in class io.github.mahmoudimus.http3.Http3Headers
Validates a trailer section: regular fields only.
Validation(InetAddress, Instant) - Constructor for record class io.github.mahmoudimus.quic.token.TokenPayload.Validation
A validation payload.
validationFailureCount() - Method in record class org.microproxy.PoolMetrics
Returns the value of the validationFailureCount record component.
validationToken(InetAddress) - Method in class io.github.mahmoudimus.quic.token.TokenValidator
A token for a NEW_TOKEN frame.
validationTokenLifetime(Duration) - Method in class io.github.mahmoudimus.quic.connection.ServerConfig.Builder
How long a NEW_TOKEN token stays valid.
validity(Instant, Instant) - Method in class org.microproxy.tls.CertificateBuilder
Sets the certificate validity interval.
value() - Method in record class io.github.mahmoudimus.http2.HeaderField
Returns the value of the value record component.
value() - Method in record class io.github.mahmoudimus.http3.HeaderField
Returns the value of the value record component.
value() - Method in record class io.github.mahmoudimus.quic.connection.StreamId
Returns the value of the value record component.
value() - Method in record class io.github.mahmoudimus.quic.params.UnknownParameter
The raw value.
value() - Method in record class org.microproxy.contentviews.Grpc.Detail
Returns the value of the value record component.
value() - Method in record class org.microproxy.contentviews.ProtoField
Returns the value of the value record component.
value() - Method in record class org.microproxy.contentviews.ProtoValue.Varint
Returns the value of the value record component.
value() - Method in record class org.microproxy.frames.Field
Returns the value of the value record component.
value() - Method in class org.microproxy.starlark.ScriptStats.ScriptCounter
counter.value.
value() - Method in class org.microproxy.starlark.ScriptStats.ScriptGauge
gauge.value.
value() - Method in interface org.microproxy.stats.Counter
Returns the count so far.
value() - Method in interface org.microproxy.stats.Gauge
Returns the current value.
value() - Method in record class org.microproxy.stats.Tag
Returns the value of the value record component.
valueAt(int) - Method in class org.microproxy.http.HttpHeaders
The value of field index.
valueOf(int) - Static method in record class org.microproxy.http.HttpResponseStatus
Returns the well-known status for code, or a new one with a generic phrase.
valueOf(int, String) - Static method in record class org.microproxy.http.HttpResponseStatus
Returns a status with code and reasonPhrase, reusing constants when equal.
valueOf(String) - Static method in enum class io.github.mahmoudimus.http2.ErrorCode
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.http3.Http3ErrorCode
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Role
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.CipherSuite
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.congestion.Bbr.Mode
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.Dir
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.RecvState
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.RemoteCidQueue.InsertError
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.SendState
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.Side
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.SpaceId
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.Timer
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.connection.TransportConfig.CongestionControl
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.EncryptionLevel
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.frame.FrameType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.packet.PacketType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.QuicStreamException.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.QuicVersion
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.tls.ClientAuth
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.tls.NamedGroup
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ChainedProxyType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.contentviews.ProtoSchema.Type
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.dns.DnssecHostResolver.Policy
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.DrainStrategy
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.extras.AccessLogFilter.Comparison
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.extras.HttpLogger.Format
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.extras.HttpLogger.Level
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.extras.LogFormat
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.FlowRecord.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.frames.FrameDirection
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.frames.FrameProtocol
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.GeneratedResponses
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in class org.microproxy.http.HttpMethod
Returns the method with the given (case-sensitive) name.
valueOf(String) - Static method in record class org.microproxy.http.HttpVersion
Parses HTTP/x.y, with one digit per version number.
valueOf(String) - Static method in enum class org.microproxy.http.WebSocketMessage.Type
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.Http3Options.QuicCongestionControl
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.HttpFiltersBuilder.Body
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.MitmServerHandshake
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.otel.Telemetry.Protocol
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.otel.Telemetry.RequestIdMode
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.otel.Telemetry.WhenStripped
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ProxyProtocolDestination
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ProxyProtocolMode
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ResponseFlag
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ResponseSource
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ServerConnectionPoolType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.ServerState
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.stats.Metric.Type
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.microproxy.stats.StatsRegistry.Overflow
Returns the enum constant of this class with the specified name.
values() - Static method in enum class io.github.mahmoudimus.http2.ErrorCode
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Method in record class io.github.mahmoudimus.http2.Frame.Settings
Returns the value of the values record component.
values() - Static method in enum class io.github.mahmoudimus.http3.Http3ErrorCode
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Method in record class io.github.mahmoudimus.http3.Http3Frame.Settings
Returns the value of the values record component.
values() - Method in record class io.github.mahmoudimus.http3.Http3Settings
The values that differ from the defaults, in identifier order, followed by the extensions: what the SETTINGS frame must carry.
values() - Static method in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.http3.Http3StreamValidator.Role
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.CipherSuite
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.congestion.Bbr.Mode
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.Dir
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.RecvState
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.RemoteCidQueue.InsertError
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.SendState
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Method in class io.github.mahmoudimus.quic.connection.SentPackets
Every packet, in increasing order.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.Side
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.SpaceId
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.StreamException.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.Timer
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.connection.TransportConfig.CongestionControl
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.EncryptionLevel
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.frame.FrameType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.packet.PacketType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.QuicStreamException.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.QuicVersion
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.tls.ClientAuth
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.tls.NamedGroup
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.mahmoudimus.quic.tls.SignatureScheme
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ChainedProxyType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Method in record class org.microproxy.contentviews.ProtoSchema.EnumType
Returns the value of the values record component.
values() - Static method in enum class org.microproxy.contentviews.ProtoSchema.Type
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.dns.DnssecHostResolver.Policy
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.DrainStrategy
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.extras.AccessLogFilter.Comparison
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.extras.HttpLogger.Format
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.extras.HttpLogger.Level
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.extras.LogFormat
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.FlowRecord.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.frames.FrameDirection
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.frames.FrameProtocol
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Method in record class org.microproxy.frames.Http2Frame.Settings
Returns the value of the values record component.
values() - Method in record class org.microproxy.frames.Http3Frame.Settings
Returns the value of the values record component.
values() - Static method in enum class org.microproxy.GeneratedResponses
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.http.WebSocketMessage.Type
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.Http3Options.QuicCongestionControl
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.HttpFiltersBuilder.Body
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.MitmServerHandshake
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.otel.Telemetry.Protocol
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.otel.Telemetry.RequestIdMode
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.otel.Telemetry.WhenStripped
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ProxyFailure.TlsFailed.Reason
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ProxyProtocolDestination
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ProxyProtocolMode
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ResponseFlag
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ResponseSource
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ServerConnectionPoolType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.ServerState
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.stats.Metric.Type
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.microproxy.stats.StatsRegistry.Overflow
Returns an array containing the constants of this enum class, in the order they are declared.
values(int) - Method in record class org.microproxy.contentviews.ProtoMessage
The values of field number, in wire order (the elements of a packed field count one by one).
variance() - Method in class io.github.mahmoudimus.quic.congestion.RttEstimator
The RTT variance.
varint() - Static method in interface org.microproxy.quic.MessageFramer
A QUIC variable-length integer (RFC 9000 section 16) as the length prefix: one, two, four or eight bytes.
Varint(long) - Constructor for record class org.microproxy.contentviews.ProtoValue.Varint
Creates an instance of a Varint record class.
VarInt - Class in io.github.mahmoudimus.quic
QUIC variable-length integers (RFC 9000 section 16): values below 262, encoded in 1, 2, 4 or 8 bytes with the length in the two most significant bits of the first byte.
vary() - Method in class org.microproxy.cache.CachedResponse
Returns the request header values selecting this cached variant.
vector() - Static method in class org.microproxy.simd.Simd
Returns the SIMD implementation, or null if the Vector API module is not present.
verificationHost() - Method in record class org.microproxy.TlsServerIdentity
Returns the value of the verificationHost record component.
verify(QuicVersion, ConnectionId, ByteBuffer) - Static method in class io.github.mahmoudimus.quic.crypto.RetryIntegrity
Checks the tag at the end of a received Retry packet, in constant time.
verifyChecksums(boolean) - Method in class io.github.mahmoudimus.zstd.ZstdDecompressor.Builder
Sets whether to check frames' content checksums when present (default true).
verifyHostname(boolean) - Method in class io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Client: whether the server's certificate must be valid for the server name, as HTTPS endpoint identification checks.
verifyRetry(ConnectionId) - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
Checks the integrity tag of a Retry packet (RFC 9001 section 5.8).
version() - Method in class io.github.mahmoudimus.quic.connection.ClientConfig
The QUIC version connections start with.
version() - Method in class io.github.mahmoudimus.quic.connection.Connection
The QUIC version in use.
version() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Handshake
Returns the value of the version record component.
version() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Initial
Returns the value of the version record component.
version() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.Retry
Returns the value of the version record component.
version() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
Returns the value of the version record component.
version() - Method in class io.github.mahmoudimus.quic.packet.ProtectedPacket
The QUIC version of a long header.
version() - Method in exception class io.github.mahmoudimus.quic.packet.UnsupportedVersionException
The version number in the packet.
version() - Method in class io.github.mahmoudimus.quic.QuicConnection
The QUIC version in use.
version() - Method in record class org.microproxy.warc.WarcReader.Record
Returns the value of the version record component.
version(QuicVersion) - Method in class io.github.mahmoudimus.quic.connection.ClientConfig.Builder
The QUIC version to use, version 1 by default.
VERSION_MISMATCH - Enum constant in enum class io.github.mahmoudimus.quic.connection.ConnectionError.Kind
The server supports none of the client's versions.
VERSION_NEGOTIATION - Enum constant in enum class io.github.mahmoudimus.quic.packet.PacketType
Version Negotiation (long header with version 0), unprotected.
VERSION_NEGOTIATION_ERROR - Static variable in record class io.github.mahmoudimus.quic.params.VersionInformation
The VERSION_NEGOTIATION_ERROR transport error code (RFC 9368 section 10.2).
versionInformation() - Method in record class io.github.mahmoudimus.quic.params.TransportParameters
Returns the value of the versionInformation record component.
versionInformation(VersionInformation) - Method in class io.github.mahmoudimus.quic.params.TransportParameters.Builder
Sets version_information.
VersionInformation - Record Class in io.github.mahmoudimus.quic.params
The version_information transport parameter (RFC 9368 section 3), which authenticates version negotiation.
VersionInformation(int, List<Integer>) - Constructor for record class io.github.mahmoudimus.quic.params.VersionInformation
Version information.
versionNames() - Method in record class org.microproxy.ClientHello
The offered TLS versions by name ("TLSv1.3", "TLSv1.2", ...), as the JDK names them, without GREASE and unknown values.
versionNegotiation(int...) - Method in exception class io.github.mahmoudimus.quic.packet.UnsupportedVersionException
The Version Negotiation packet that answers this packet: the connection IDs swapped and the supported versions listed (RFC 9000 section 17.2.1).
VersionNegotiation(ConnectionId, ConnectionId, List<Integer>) - Constructor for record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
A Version Negotiation packet.
versionNegotiationsSent() - Method in class io.github.mahmoudimus.quic.connection.Endpoint
Version Negotiation packets sent, to clients that offered no version this endpoint supports.
versionNegotiationsSent() - Method in record class io.github.mahmoudimus.quic.EndpointStats
Returns the value of the versionNegotiationsSent record component.
versions() - Method in record class io.github.mahmoudimus.quic.packet.PacketHeader.VersionNegotiation
Returns the value of the versions record component.
versions() - Method in record class org.microproxy.ClientHello
Returns the value of the versions record component.
VIA - Static variable in class org.microproxy.http.HttpHeaderNames
The Via header field name.
view() - Method in record class org.microproxy.contentviews.ContentViews.Rendered
Returns the value of the view record component.

W

W3C - Enum constant in enum class org.microproxy.extras.LogFormat
W3C extended: date time c-ip cs-method cs-uri sc-status sc-bytes "cs(User-Agent)", as %START_TIME(%Y-%m-%d %H:%M:%S)% %DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT% %REQ(:METHOD)% %MP_URL% %RESPONSE_CODE% %BYTES_SENT% "%REQ(USER-AGENT)%".
waiting() - Method in record class org.microproxy.extras.ConcurrencyLimiter.KeyStats
Returns the value of the waiting record component.
waiting() - Method in record class org.microproxy.extras.ConcurrencyLimiter.Snapshot
Returns the value of the waiting record component.
WarcReader - Class in org.microproxy.warc
Reads WARC records (versions 1.0 and 1.1) one after another, as WarcRecorder writes them and as other archiving tools do: plain .warc files, or .warc.gz files with one gzip member per record (or one for the whole file).
WarcReader(InputStream) - Constructor for class org.microproxy.warc.WarcReader
Reads records from in, which is decompressed if it starts with the gzip magic bytes.
WarcReader.Record - Record Class in org.microproxy.warc
One WARC record: its version line, named fields and block.
WarcRecorder - Class in org.microproxy.warc
Records the traffic between the proxy and servers as WARC 1.1 files (ISO 28500), the format web archives use, so captures can be replayed with tools such as pywb or inspected with warcio.
WarcRecorder.Builder - Class in org.microproxy.warc
Options for WarcRecorder.
WarcWriter - Class in org.microproxy.warc
Appends WARC 1.1 records to files in a directory, starting a new file (each opened by a warcinfo record) when one reaches its size limit.
WarcWriter(Path, String, long, boolean, String) - Constructor for class org.microproxy.warc.WarcWriter
Creates a WARC writer with file rotation and optional compression.
WEBSOCKET - Enum constant in enum class org.microproxy.FlowRecord.Kind
A WebSocket session, from its opening handshake to its close (websocket).
WEBSOCKET_FRAMES - Enum constant in enum class org.microproxy.HttpFiltersBuilder.Body
WebSocket frames, rewritten (HttpFiltersBuilder.onWebSocketFrame).
WEBSOCKET_MESSAGES - Enum constant in enum class org.microproxy.HttpFiltersBuilder.Body
Whole WebSocket messages, joined from their frames and rewritten (HttpFiltersBuilder.onWebSocketMessage).
WebSocketFrame - Class in org.microproxy.http
A WebSocket frame (RFC 6455 section 5.2).
WebSocketFrame(byte[], byte[], long) - Constructor for class org.microproxy.http.WebSocketFrame
Creates a frame from wire data, retaining the supplied arrays without copying.
webSocketFrameReceived(Supplier<byte[]>, boolean) - Method in interface org.microproxy.HttpFilters
LittleProxy-compatible form of HttpFilters.webSocketFrameReceived(WebSocketFrame, boolean): supplies the raw frame bytes as on the wire (header and still-masked payload).
webSocketFrameReceived(Supplier<byte[]>, boolean) - Method in class org.microproxy.HttpFiltersChain.Chained
 
webSocketFrameReceived(WebSocketFrame, boolean) - Method in interface org.microproxy.HttpFilters
Called for every WebSocket frame relayed after this request was upgraded (101 Switching Protocols with Upgrade: websocket), including inside intercepted TLS sessions.
webSocketFrameReceived(WebSocketFrame, boolean) - Method in class org.microproxy.HttpFiltersBuilder.Built
 
webSocketFrameReceived(WebSocketFrame, boolean) - Method in class org.microproxy.HttpFiltersChain.Chained
 
webSocketFrames(boolean) - Method in class org.microproxy.extras.HttpLogger.Builder
At HttpLogger.Level.BODY, also logs WebSocket frames after an upgrade: text frames' text (up to HttpLogger.Builder.maxBodyBytes), other frames' sizes.
WebSocketMessage - Record Class in org.microproxy.http
A whole WebSocket message (RFC 6455 section 5.4): the payloads of a text or binary frame and its continuation frames, joined, and inflated when the connection uses permessage-deflate (RFC 7692).
WebSocketMessage(WebSocketMessage.Type, byte[], boolean) - Constructor for record class org.microproxy.http.WebSocketMessage
A message, with a copy of payload.
WebSocketMessage.Type - Enum Class in org.microproxy.http
The kind of data a message carries (its first frame's opcode).
weight() - Method in record class io.github.mahmoudimus.http2.Frame.PrioritySpec
Returns the value of the weight record component.
weight() - Method in class org.microproxy.cache.CachedResponse
Returns roughly how much memory or disk the entry takes.
weight() - Method in record class org.microproxy.dns.DnsMessage.Srv
Returns the value of the weight record component.
weight() - Method in record class org.microproxy.frames.Http2Frame.Priority
Returns the value of the weight record component.
What it may change - Search tag in interface org.microproxy.frames.FrameInterceptor
Section
What it sees - Search tag in interface org.microproxy.frames.FrameInterceptor
Section
whenStripped(Telemetry.WhenStripped) - Method in class org.microproxy.otel.Telemetry.Builder
What goes upstream when the proxy strips tracing headers: the proxy's own context (the default) or nothing.
Which connections - Search tag in interface org.microproxy.quic.QuicInterceptor
Section
Which flows - Search tag in interface org.microproxy.udp.UdpInterceptor
Section
Which tunnels - Search tag in interface org.microproxy.tcp.TcpInterceptor
Section
window() - Method in class io.github.mahmoudimus.quic.congestion.Bbr
 
window() - Method in interface io.github.mahmoudimus.quic.congestion.Controller
The congestion window.
window() - Method in class io.github.mahmoudimus.quic.congestion.Cubic
 
window() - Method in class io.github.mahmoudimus.quic.congestion.NewReno
 
WINDOW_UPDATE - Static variable in class io.github.mahmoudimus.http2.FrameType
The frame type for flow-control credit.
WindowUpdate(int, int) - Constructor for record class io.github.mahmoudimus.http2.Frame.WindowUpdate
Creates WINDOW_UPDATE with a positive credit increment.
WindowUpdate(int, int) - Constructor for record class org.microproxy.frames.Http2Frame.WindowUpdate
Creates WINDOW_UPDATE.
WIRE_END_GROUP - Static variable in interface org.microproxy.contentviews.ProtoValue
Wire type 4: the end of a group.
WIRE_FIXED32 - Static variable in interface org.microproxy.contentviews.ProtoValue
Wire type 5: four little-endian bytes.
WIRE_FIXED64 - Static variable in interface org.microproxy.contentviews.ProtoValue
Wire type 1: eight little-endian bytes.
WIRE_LEN - Static variable in interface org.microproxy.contentviews.ProtoValue
Wire type 2: a length, then that many bytes.
WIRE_START_GROUP - Static variable in interface org.microproxy.contentviews.ProtoValue
Wire type 3: the start of a group.
WIRE_VARINT - Static variable in interface org.microproxy.contentviews.ProtoValue
Wire type 0: base-128 varint.
wireType() - Method in enum class org.microproxy.contentviews.ProtoSchema.Type
Returns the wire type values of this type are encoded with (unpacked).
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Bytes
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed32
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Fixed64
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Group
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Message
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Packed
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Text
 
wireType() - Method in record class org.microproxy.contentviews.ProtoValue.Varint
 
wireType() - Method in interface org.microproxy.contentviews.ProtoValue
Returns the wire type this value is encoded with.
wireValue() - Method in enum class io.github.mahmoudimus.quic.QuicVersion
The 32-bit version number as it appears in long headers.
with(String, String) - Method in class org.microproxy.stats.TagExtractor
This extractor with one more rule, which runs after the others.
with(ContentView) - Method in class org.microproxy.contentviews.ContentViews
These views with view added, replacing a view of the same name.
withAcceptProxyProtocol(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Require a PROXY protocol (v1 or v2) header on every inbound connection: the same as HttpProxyServerBootstrap.withAcceptProxyProtocol(ProxyProtocolMode) with ProxyProtocolMode.REQUIRED, or ProxyProtocolMode.OFF for false.
withAcceptProxyProtocol(ProxyProtocolMode) - Method in interface org.microproxy.HttpProxyServerBootstrap
Whether client connections start with a PROXY protocol header (v1 or v2), read before anything else on the connection (before TLS on a TLS listener, before SOCKS or HTTP/2 detection).
withAdditionals(List<DnsMessage.ResourceRecord>) - Method in class org.microproxy.dns.DnsMessage
This message with another additional section.
withAddress(InetSocketAddress) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the proxy listener address.
withAdmin(InetSocketAddress) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves Envoy's admin API on its own HTTP listener at address, apart from the proxy's listeners: /stats, /stats/prometheus, /ready, /server_info, /listeners, /clusters, /config_dump, /logging, and, with POST, /healthcheck/fail, /healthcheck/ok, /drain_listeners and /quitquitquit; / lists them.
withAdminToken(String) - Method in interface org.microproxy.HttpProxyServerBootstrap
Requires token on every admin request but /ready: as a bearer token (Authorization: Bearer <token>), or as the password of basic authentication with any user name (or as user:password itself, when the token has a colon).
withAllowChunkedLength(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Accept HTTP/1.1 requests that carry both Transfer-Encoding and Content-Length, as RFC 9112 section 6.1 allows a server to: the Content-Length is removed, the body is read by its chunked coding alone, and the client connection is closed after the response, so that whatever follows the body is never read as another request.
withAllowHosts(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Hosts whose TLS connections are intercepted; all others are tunnelled untouched (mitmproxy's allow_hosts).
withAllowLocalOnly(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Listen on the loopback interface only.
withAllowRequestToOriginServer(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Accept origin-form requests (GET /path) as if the proxy were the origin.
withAltSvcH3Stripping(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Whether to remove HTTP/3 alternatives (h3, h3-29, h3-Q050, ..., and Google QUIC's quic) from Alt-Svc response headers, keeping the other alternatives (such as h2=":443") and their parameters as they are.
withAnswers(List<DnsMessage.ResourceRecord>) - Method in class org.microproxy.dns.DnsMessage
This message with other answers.
withAuthenticateSslClients(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Require client certificates on the proxy's TLS listener.
withAuthorities(List<DnsMessage.ResourceRecord>) - Method in class org.microproxy.dns.DnsMessage
This message with another authority section.
withBudget(Duration) - Method in class org.microproxy.RetryBackoff
This policy with total as the most that all waits of one request may add up to, in place of the default (the request's connect timeout, at most 30 seconds).
withChainedProxyRetryBackoff(Duration, Duration) - Method in interface org.microproxy.HttpProxyServerBootstrap
Exponential backoff with full jitter between chained proxy attempts: withChainedProxyRetryBackoff(RetryBackoff.exponentialWithJitter(initial, max)).
withChainedProxyRetryBackoff(RetryBackoff) - Method in interface org.microproxy.HttpProxyServerBootstrap
Waits between attempts when a connection through one chained proxy (or the direct fallback) fails and the next candidate from the ChainedProxyManager is tried, as backoff says: RetryBackoff.exponential(java.time.Duration, java.time.Duration) for exact doubling waits, RetryBackoff.exponentialWithJitter(java.time.Duration, java.time.Duration) for random ones ("full jitter"), RetryBackoff.fixed(java.time.Duration) for the same wait every time.
withChainProxyManager(ChainedProxyManager) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the manager selecting upstream proxies.
withCommandLineOptions(List<String>) - Method in interface org.microproxy.HttpProxyServerBootstrap
The command line the proxy was started with, which the admin's /server_info shows (secret values redacted) as Envoy shows its own; the launcher passes its arguments.
withConnectTimeout(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Connect timeout for outbound connections in milliseconds.
withConnectUdp(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves CONNECT-UDP (MASQUE, RFC 9298) on a forward proxy's TCP listener, with or without HTTP/3: an extended CONNECT with :protocol connect-udp on an HTTP/2 connection (h2 on the TLS listener with HttpProxyServerBootstrap.withHttp2(boolean), or h2c), and the HTTP/1.1 form, a GET with Upgrade: connect-udp.
withData(byte[]) - Method in record class org.microproxy.frames.Http2Frame.Data
This frame with other content.
withData(byte[]) - Method in record class org.microproxy.frames.Http3Frame.Data
This frame with other content.
withData(byte[]) - Method in class org.microproxy.quic.QuicDatagram
A copy of this datagram with another payload, the same direction and timestamp.
withData(byte[]) - Method in class org.microproxy.quic.QuicMessage
A copy of this message with another payload, the same direction, stream and timestamp.
withData(byte[]) - Method in class org.microproxy.quic.QuicStreamMessage
A copy of this message with other bytes, the same direction and timestamp.
withData(byte[]) - Method in class org.microproxy.tcp.TcpMessage
A copy of this message with other bytes, the same direction and timestamp.
withData(byte[]) - Method in class org.microproxy.udp.UdpMessage
A copy of this message with another payload, the same direction and timestamp.
withData(Object) - Method in class org.microproxy.starlark.ScriptQuicMessage
A copy of this message with other bytes.
withData(Object) - Method in class org.microproxy.starlark.ScriptTcpMessage
A copy of this message with other bytes.
withData(Object) - Method in class org.microproxy.starlark.ScriptUdpMessage
A copy of this message with another payload.
withData(DnsMessage.Rdata) - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
This record with other data, encoded for its type.
withDebugData(byte[]) - Method in record class org.microproxy.frames.Http2Frame.GoAway
This frame with other debug data.
withDefaultBudget() - Method in class org.microproxy.RetryBackoff
This policy with the default budget again: the request's connect timeout, at most 30 seconds.
withDns(DnsMessage) - Method in class org.microproxy.quic.QuicMessage
A copy of this message whose payload is dns, encoded.
withDrainStrategy(DrainStrategy) - Method in interface org.microproxy.HttpProxyServerBootstrap
How a draining proxy tells clients to go elsewhere (default DrainStrategy.GRADUAL, as Envoy's --drain-strategy); see HttpProxyServer.drain(java.time.Duration).
withDrainTime(Duration) - Method in interface org.microproxy.HttpProxyServerBootstrap
How long exchanges in progress may take to finish when the proxy stops, and how long a drain lasts when the admin's /drain_listeners?graceful starts one (default 10 seconds, Envoy's --drain-time-s).
withEndStream(boolean) - Method in record class org.microproxy.frames.Http2Frame.Data
This frame with END_STREAM set or not (see FrameInterceptor for who decides).
withEndStream(boolean) - Method in record class org.microproxy.frames.Http2Frame.Headers
This frame with END_STREAM set or not (see FrameInterceptor for who decides).
withErrorCode(long) - Method in record class org.microproxy.frames.Http2Frame.GoAway
This frame with another error code.
withErrorCode(long) - Method in record class org.microproxy.frames.Http2Frame.RstStream
This frame with another error code.
withErrorCode(long) - Method in class org.microproxy.quic.QuicFraming
These rules with another error code for the resets of a stream whose message is too large or malformed.
withExpectedItems(int, long) - Static method in class io.github.mahmoudimus.quic.token.BloomTokenLog
A log with a memory budget, tuned for an expected number of uses per lifetime.
withFailureResponder(FailureResponder) - Method in interface org.microproxy.HttpProxyServerBootstrap
Makes the proxy's own answers when requests fail (see ProxyFailure): unreachable or misbehaving servers, timeouts, an exhausted connection pool, refused requests.
withFallbackToDirect(boolean) - Method in class org.microproxy.UpstreamProxyManager
Also try a direct connection when the upstream proxy cannot be reached.
withFields(List<Field>) - Method in record class org.microproxy.frames.Http2Frame.Headers
This frame with another header block.
withFields(List<Field>) - Method in record class org.microproxy.frames.Http3Frame.Headers
This frame with another field section.
withFiltersSource(HttpFiltersSource) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the source of per-request filters.
withFlags(int) - Method in class org.microproxy.dns.DnsMessage
This message with other header flags (QR, opcode, AA, TC, RD, RA, Z, AD, CD and RCODE).
withFrameInterceptor(FrameInterceptor) - Method in interface org.microproxy.HttpProxyServerBootstrap
Shows every HTTP/2 frame the proxy receives or sends, on the client side and on connections to servers, to interceptor, which may edit, drop and add frames within the rules FrameInterceptor describes.
withFramer(String, MessageFramer) - Method in class org.microproxy.quic.QuicFraming
These rules with a framer that rules can name, replacing one of the same name.
withFromClient(boolean) - Method in record class org.microproxy.http.WebSocketMessage
This message travelling the other way, or the same way: a hook that returns it with fromClient changed sends it back to where the original came from.
withFromClient(boolean) - Method in class org.microproxy.quic.QuicMessage
A copy of this message going the other way, or the same: with fromClient it goes to the server, else to the client, on the same stream.
withFromClient(Boolean) - Method in class org.microproxy.starlark.ScriptQuicMessage
A copy of this message going the other way, or the same: on_quic_message returns one with from_client=False to answer the client itself, on the same stream.
withHeader(String, String) - Method in record class org.microproxy.frames.Http2Frame.Headers
This frame with name set to value: the first field of that name gets the value and later ones are removed; without one, the field is added (a pseudo-header after the other pseudo-headers, a regular field at the end).
withHeader(String, String) - Method in record class org.microproxy.frames.Http3Frame.Headers
This frame with name set to value, as Http2Frame.Headers.withHeader(String, String) does it.
withHealthCheckPath(String, boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Answers health checks on the proxy's own listener, as Envoy's health check filter does: a request for path (its path without the query, exactly) gets 200 OK from the proxy, or 503 with x-envoy-immediate-health-check-fail: true while the health check fails or the proxy is draining.
withHttp2(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves HTTP/2 to clients on intercepted TLS (HttpProxyServerBootstrap.withManInTheMiddle(org.microproxy.MitmManager)) and the proxy TLS listener (HttpProxyServerBootstrap.withSslContextSource(org.microproxy.SslContextSource)): the client handshake offers h2 and http/1.1 through ALPN, and a client that picks h2 has each of its streams handled as an exchange of its own, concurrently, with the same filters, cache, authentication, failure answers and trackers as HTTP/1 requests.
withHttp2Cleartext(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves HTTP/2 with prior knowledge (h2c, RFC 9113 section 3.3) on the plain listener: a connection that starts with the HTTP/2 connection preface is served as HTTP/2, its streams being proxy requests like HTTP/1 ones (:scheme and :authority name the target).
withHttp2CleartextOnly(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves only HTTP/2 with prior knowledge on the plain listener: as HttpProxyServerBootstrap.withHttp2Cleartext(boolean) (which this implies), except that a connection that does not start with the HTTP/2 connection preface is not served as HTTP/1.x but treated as a connection error of type PROTOCOL_ERROR (RFC 9113 section 3.4): it is sent GOAWAY and closed.
withHttp2Options(Http2Options) - Method in interface org.microproxy.HttpProxyServerBootstrap
Limits for HTTP/2 connections (see Http2Options); null restores the defaults.
withHttp2Upstream(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Speaks HTTP/2 to origin servers that offer it: TLS connections to servers (intercepted HTTPS, and the https:// requests of HttpProxyServerBootstrap.withTlsOrigination(boolean), secure WebSockets included) offer h2 and http/1.1 through ALPN, and a server that picks h2 gets every exchange for it as a stream on one connection, shared by concurrent exchanges up to the server's stream limit; others keep HTTP/1.1.
withHttp3(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves HTTP/3 (RFC 9114, over QUIC): a UDP listener on the TCP listener's port number takes QUIC connections with ALPN h3, and each request stream is an exchange of its own, concurrently, with the same filters, cache, authentication, failure answers, logging and trackers as HTTP/1 and HTTP/2 requests.
withHttp3Options(Http3Options) - Method in interface org.microproxy.HttpProxyServerBootstrap
Limits and timers for HTTP/3 (see Http3Options); null restores the defaults.
withHttp3Upstream(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Speaks HTTP/3 to origin servers known to support it, whatever the client spoke: one QUIC connection per server, shared by concurrent exchanges as streams.
withHttp3UpstreamHosts(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Servers reached over HTTP/3 without waiting for an Alt-Svc advertisement, on the port of their https URI: those whose host:port one of these regular expressions is found in, case-insensitively, as for HttpProxyServerBootstrap.withIgnoreHosts(java.lang.String...).
withHttpCache(HttpCache) - Method in interface org.microproxy.HttpProxyServerBootstrap
Caches responses (HttpCache).
withId(int) - Method in class org.microproxy.dns.DnsMessage
This message with another ID.
withIdleConnectionTimeout(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the maximum idle time for client and server connections.
withIdleConnectionTimeout(Duration) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the maximum idle time for client and server connections.
withIgnoreHosts(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Hosts whose TLS connections are never intercepted, but tunnelled untouched, so their clients see the real server's certificate (mitmproxy's ignore_hosts).
withKeepHostHeader(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
In reverse proxy mode, keeps the Host field the client sent instead of setting it to the upstream's (mitmproxy's keep_host_header).
withKey(PrivateKey, X509Certificate[], TrustManager[]) - Static method in class org.microproxy.tls.SslContexts
A context presenting chain (leaf first) with key, trusting trustAnchors (or the system default when none are given).
withLittleProxyCompatibility() - Method in interface org.microproxy.HttpProxyServerBootstrap
Same as withLittleProxyCompatibility(true).
withLittleProxyCompatibility(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Makes ProtocolPolicy.littleProxy() the defaults of HTTP/1.x clients' policy, so that the proxy behaves like LittleProxy where MicroProxy deliberately differs, for filters that depend on it.
withManInTheMiddle(MitmManager) - Method in interface org.microproxy.HttpProxyServerBootstrap
Intercepts CONNECT tunnels with mitmManager.
withMaxAllocBytes(long) - Method in record class org.microproxy.starlark.StarlarkScript.Limits
These bounds with another allocation budget.
withMaxChunkSize(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Largest body piece handed to filters when streaming.
withMaxConnections(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Pooled connections in total; default 200.
withMaxConnectionsPerHost(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Pooled connections per target (host:port); default 10.
withMaxHeaderSize(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the maximum HTTP header section size in bytes.
withMaxInitialLineLength(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the maximum HTTP request or status line length in bytes.
withMaxMessageSize(int) - Method in class org.microproxy.quic.QuicFraming
These rules with another limit on a message's size.
withMaxSteps(long) - Method in record class org.microproxy.starlark.StarlarkScript.Limits
These bounds with another step limit.
withMaxWebSocketFrameBufferSize(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Largest WebSocket frame payload buffered for HttpFilters.webSocketFrameReceived(org.microproxy.http.WebSocketFrame, boolean); larger frames are streamed and reported as truncated.
withMaxWebSocketMessageSize(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Largest WebSocket message, in bytes, that the proxy joins from its frames for HttpFilters.filterWebSocketMessage(org.microproxy.http.WebSocketMessage, boolean) or inflates (permessage-deflate) for the frame and message hooks.
withMetrics(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Turns metrics on with a registry of the default settings (or keeps the one HttpProxyServerBootstrap.withStats(org.microproxy.stats.StatsRegistry) gave), or off.
withName(String) - Method in interface org.microproxy.HttpProxyServerBootstrap
Name used for thread names and logging.
withNetworkInterface(InetSocketAddress) - Method in interface org.microproxy.HttpProxyServerBootstrap
Local address to bind for outbound connections.
withObserver(ScriptCallObserver) - Method in class org.microproxy.starlark.StarlarkScript
This script with observer seeing every call into it.
withoutHeader(String) - Method in record class org.microproxy.frames.Http2Frame.Headers
This frame without the fields named name.
withoutHeader(String) - Method in record class org.microproxy.frames.Http3Frame.Headers
This frame without the fields named name.
withoutHttp3Advertisement() - Method in interface org.microproxy.HttpProxyServerBootstrap
Same as withAltSvcH3Stripping(true): clients are not told about HTTP/3 (see there).
withoutTracingHeadersUpstream() - Method in interface org.microproxy.HttpProxyServerBootstrap
Removes distributed tracing headers (HttpHeaderNames.TRACING_HEADERS: traceparent, tracestate, baggage, the B3 headers, uber-trace-id, X-Amzn-Trace-Id, X-Cloud-Trace-Context, grpc-trace-bin, sentry-trace) from requests sent upstream, so clients' trace ids and baggage do not leak to servers.
withoutValue(int) - Method in record class org.microproxy.frames.Http2Frame.Settings
This frame without one setting.
withoutValue(long) - Method in record class org.microproxy.frames.Http3Frame.Settings
This frame without one setting.
withPath(String) - Method in record class org.microproxy.contentviews.ContentView.Metadata
This metadata with a request path.
withPayload(byte[]) - Method in record class org.microproxy.frames.Http2Frame.Unknown
This frame with another payload.
withPayload(byte[]) - Method in record class org.microproxy.frames.Http3Frame.Unknown
This frame with another payload.
withPayload(byte[]) - Method in class org.microproxy.http.WebSocketFrame
This frame's FIN bit, RSV bits and opcode with a new payload.
withPayload(byte[]) - Method in record class org.microproxy.http.WebSocketMessage
This message with another payload, keeping its type and direction.
withPoolIdleTimeout(Duration) - Method in interface org.microproxy.HttpProxyServerBootstrap
Closes pooled connections idle for longer than this; null keeps them.
withPoolPerRequestInMitm(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
With HttpProxyServerBootstrap.withPoolSharedMitmConnections(boolean), leases the server connection per intercepted request rather than per session.
withPoolSharedMitmConnections(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Lets intercepted (MITM) sessions take their server connection from the pool and return it when the client disconnects, so other clients can reuse it.
withPort(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Port to listen on; 0 picks an ephemeral port.
withProtoSchema(ProtoSchema) - Method in class org.microproxy.starlark.StarlarkScript
This script with a protobuf schema for its protobuf and grpc modules, so that protobuf.decode(data, type="pkg.Message") decodes with field names (and encode takes them).
withProxyAlias(String) - Method in interface org.microproxy.HttpProxyServerBootstrap
Name used in the Via header; defaults to the host name.
withProxyAuthenticator(ProxyAuthenticator) - Method in interface org.microproxy.HttpProxyServerBootstrap
Requires clients to authenticate: with Basic credentials by default, or with any scheme through ProxyAuthenticator.authenticate(org.microproxy.http.HttpRequest, FlowContext).
withProxyProtocolTrustedSources(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
The peers whose PROXY protocol headers are honored, as IP addresses or CIDR ranges ( 10.0.0.0/8, 192.0.2.10, fd00::/8): the load balancers in front of the proxy.
withPythonStrings(StarlarkSemantics) - Static method in class org.microproxy.starlark.stdlib.Stdlib
Python's string behaviour, which the library's code relies on: str % args with printf flags and widths, Unicode-aware case mapping and classification, Python's bounds for find/count/..., and CPython's codec names and error handlers for bytes.decode.
withQuestions(List<DnsMessage.Question>) - Method in class org.microproxy.dns.DnsMessage
This message with other questions.
withQuicFraming(QuicFraming) - Method in interface org.microproxy.HttpProxyServerBootstrap
Which intercepted QUIC connections' streams a QuicInterceptor that overrides QuicInterceptor.streamMessage(org.microproxy.quic.QuicMessage, org.microproxy.quic.QuicStreamContext) sees as whole messages, cut by a MessageFramer chosen by ALPN or host; how large a message may be; and the error code a stream is reset with when one is too large.
withQuicHosts(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Hosts whose intercepted QUIC is relayed stream by stream, as raw QUIC, whatever its ALPN: the QUIC counterpart of HttpProxyServerBootstrap.withTcpHosts(java.lang.String...).
withQuicInterceptor(QuicInterceptor) - Method in interface org.microproxy.HttpProxyServerBootstrap
Shows the streams and datagrams of QUIC connections that the proxy intercepts without speaking their protocol to interceptor, which may rewrite, drop and add their bytes; see QuicInterceptor.
withRcode(int) - Method in class org.microproxy.dns.DnsMessage
This message with another RCODE (3 for NXDOMAIN, ...).
withRequestHeadTimeout(Duration) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the maximum time for an HTTP/1 request head to arrive, from its first byte through the terminating blank line.
withReverseProxy(String) - Method in interface org.microproxy.HttpProxyServerBootstrap
Runs as a reverse proxy for the upstream spec, such as https://example.com (see ReverseProxyMode.parse(java.lang.String)).
withReverseProxy(ReverseProxyMode) - Method in interface org.microproxy.HttpProxyServerBootstrap
Runs as a reverse proxy for one upstream server (see ReverseProxyMode); null (the default) is a forward proxy.
withRule(String, String) - Method in class org.microproxy.quic.QuicFraming
These rules with one more: key framed by the framer named framer.
withRule(String, MessageFramer) - Method in class org.microproxy.quic.QuicFraming
These rules with one more: key framed by framer, which is given the name key among the framers.
withRules(String) - Method in class org.microproxy.quic.QuicFraming
These rules with those of spec added; a rule for a key that has one replaces it.
withSchema(ProtoSchema) - Method in class org.microproxy.contentviews.ContentViews
These views with the protobuf and gRPC views decoding with schema.
withScriptCallObserver(ScriptCallObserver) - Method in interface org.microproxy.HttpProxyServerBootstrap
Shows every call into a script's hooks to observer (see ScriptCallObserver): the scripting module (--script) passes it on to the script it loads.
withSendProxyProtocol(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Send a PROXY protocol v1 header to the final server: first on a direct connection, or through the tunnel once an HTTP chained proxy has accepted the CONNECT.
withServerConnectionPoolType(ServerConnectionPoolType) - Method in interface org.microproxy.HttpProxyServerBootstrap
Selects the shared upstream connection pool implementation.
withServerResolver(HostResolver) - Method in interface org.microproxy.HttpProxyServerBootstrap
Sets the resolver used for upstream host names.
withSharedServerConnectionPool(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Shares server connections between all clients instead of keeping them per client connection.
withSocksDetection(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serves SOCKS clients on the listener besides HTTP ones, told apart by their first byte: 5 for SOCKS5, 4 for SOCKS4 and 4a, which no HTTP request starts with.
withSocksServer(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Makes the listener a SOCKS server (mitmproxy's socks5 mode): SOCKS5 (RFC 1928), and SOCKS4 and 4a, with the CONNECT command only.
withSpan(long, boolean) - Method in record class org.microproxy.otel.SpanContext
Returns this context with another span id and sampled flag, as the proxy's own span.
withSslContextSource(SslContextSource) - Method in interface org.microproxy.HttpProxyServerBootstrap
Serve the proxy itself over TLS (an "HTTPS proxy").
withStats(StatsRegistry) - Method in interface org.microproxy.HttpProxyServerBootstrap
Keeps the proxy's metrics in registry: Envoy's stats (http.<name>.*, cluster.<name>.*, listener.<address>.*, server.*, ...; see StatsRegistry), which StatsFormatter renders for Prometheus and StatsdSink pushes to statsd.
withStatsName(String) - Method in class org.microproxy.starlark.StarlarkScript
This script with its stats tagged name rather than after its file.
withStrippedRequestHeaders(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Removes these headers (case-insensitively) from every request right before it is written upstream: after all filters, so headers that filters added are removed too.
withTcpHosts(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
Hosts whose connections are relayed as raw TCP even when they look like HTTP (mitmproxy's tcp_hosts): plain bytes after a CONNECT are not served as HTTP, and an intercepted TLS session is relayed decrypted rather than served as HTTP, its bytes going through the TCP hooks.
withTcpInterceptor(TcpInterceptor) - Method in interface org.microproxy.HttpProxyServerBootstrap
Shows the bytes of every raw TCP tunnel to interceptor, which may rewrite, drop and add them (mitmproxy's tcp_message and related hooks; see TcpInterceptor for which tunnels).
withText(String) - Method in record class org.microproxy.frames.Http2Frame.Data
This frame with text, encoded as UTF-8, as its content.
withText(String) - Method in record class org.microproxy.frames.Http3Frame.Data
This frame with text, encoded as UTF-8, as its content.
withText(String) - Method in class org.microproxy.http.WebSocketFrame
This frame's FIN bit, RSV bits and opcode with a new payload, encoded as UTF-8.
withText(String) - Method in record class org.microproxy.http.WebSocketMessage
This message with another payload, encoded as UTF-8, keeping its type and direction.
withText(String) - Method in class org.microproxy.quic.QuicMessage
A copy of this message with the UTF-8 encoding of text.
withText(String) - Method in class org.microproxy.quic.QuicStreamMessage
A copy of this message with the UTF-8 encoding of text.
withText(String) - Method in class org.microproxy.starlark.ScriptQuicMessage
A copy of this message with the UTF-8 encoding of text.
withText(String) - Method in class org.microproxy.starlark.ScriptTcpMessage
A copy of this message with the UTF-8 encoding of text.
withText(String) - Method in class org.microproxy.starlark.ScriptUdpMessage
A copy of this message with the UTF-8 encoding of text.
withText(String) - Method in class org.microproxy.tcp.TcpMessage
A copy of this message with the UTF-8 encoding of text.
withThrottling(long, long) - Method in interface org.microproxy.HttpProxyServerBootstrap
Global bandwidth limits for server traffic; 0 means unlimited.
withTimeout(Duration) - Method in record class org.microproxy.starlark.StarlarkScript.Limits
These bounds with another wall-clock limit.
withTlsHandshakeTimeout(Duration) - Method in interface org.microproxy.HttpProxyServerBootstrap
The longest a TLS handshake may take, with clients and with servers (default 10 seconds; zero for no limit).
withTlsOrigination(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Whether a forward proxy fetches an https:// URI a client asks for directly, rather than through CONNECT, by opening TLS to the server itself: an absolute-form GET https://example.com/ sent in plain HTTP, an HTTP/2 stream with :scheme https on an h2c connection or the proxy's TLS listener, or a secure WebSocket (an absolute wss:// URI, or extended CONNECT with :scheme https).
withTlsProtocols(String...) - Method in interface org.microproxy.HttpProxyServerBootstrap
The TLS versions allowed on every TLS socket the proxy creates: its TLS listener (HttpProxyServerBootstrap.withSslContextSource(org.microproxy.SslContextSource)), both sides of an intercepted session, and connections to TLS chained proxies.
withTlsRetryWithoutSni(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Whether a TLS handshake with a server that ends with the server's fatal unrecognized_name alert (RFC 6066 section 3, RFC 8446 section 6.2), its answer to a server name (SNI) it does not recognize, is tried once more on a new connection, without SNI.
withTracer(FlowTracer) - Method in interface org.microproxy.HttpProxyServerBootstrap
Traces the proxy's exchanges and flows with tracer (see FlowTracer): the microproxy-otel module's OpenTelemetry tracing and OTLP export, or another.
withTrailers(HttpHeaders) - Method in record class org.microproxy.contentviews.ContentView.Metadata
This metadata with trailer fields.
withTransparent(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Transparent proxying: forward messages without adding Via or stripping hop-by-hop headers, and accept TLS connections that arrive without a CONNECT, such as ones a firewall redirects to the proxy.
withTransparentQuicPort(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
Opens a transparent QUIC listener on UDP port (0 for any): the UDP counterpart of transparent TLS, for QUIC (HTTP/3, UDP 443) that a firewall redirects to the proxy, such as iptables -t nat -A PREROUTING -p udp --dport 443 -j REDIRECT --to-ports <port>.
withTransparentTlsPort(int) - Method in interface org.microproxy.HttpProxyServerBootstrap
The port that TLS connections arriving without a CONNECT in transparent mode are routed to, on the host their SNI names (default 443).
withTtl(long) - Method in record class org.microproxy.dns.DnsMessage.ResourceRecord
This record with another time to live.
withType(WebSocketMessage.Type) - Method in record class org.microproxy.http.WebSocketMessage
This message as another type, keeping its payload and direction.
withUdpInterceptor(UdpInterceptor) - Method in interface org.microproxy.HttpProxyServerBootstrap
Shows the datagrams of every UDP flow the proxy relays (CONNECT-UDP, MASQUE, on a forward proxy's HTTP/3 listener) to interceptor, which may rewrite, drop and add them; see UdpInterceptor.
withUpperBound(int) - Method in record class io.github.mahmoudimus.quic.connection.MtuDiscoveryConfig
This configuration with another upper bound.
withUseDnsSec(boolean) - Method in interface org.microproxy.HttpProxyServerBootstrap
Resolves server names with the validating DNSSEC resolver (DnssecHostResolver) instead of the system resolver.
withValue(int, long) - Method in record class org.microproxy.frames.Http2Frame.Settings
This frame with one setting set.
withValue(long, long) - Method in record class org.microproxy.frames.Http3Frame.Settings
This frame with one setting set.
withValue(String) - Method in record class org.microproxy.frames.Field
This field with another value.
withValues(Map<Integer, Long>) - Method in record class org.microproxy.frames.Http2Frame.Settings
This frame with other settings.
withValues(Map<Long, Long>) - Method in record class org.microproxy.frames.Http3Frame.Settings
This frame with other settings.
Writable(StreamId) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamEvent.Writable
Creates an instance of a Writable record class.
write(byte[], int, long) - Static method in class io.github.mahmoudimus.quic.VarInt
Writes a value in its shortest encoding into an array.
write(long, byte[], int) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
Writes the shortest encoding of value at offset.
write(long, OutputStream) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
Writes the shortest encoding of value.
write(long, ByteBuffer) - Static method in class io.github.mahmoudimus.http3.QuicVarInt
Writes the shortest encoding of value at the buffer's position.
write(StreamId, ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.Connection
Writes stream data, copying as much as flow control and the send window allow.
write(StreamId, ByteBuffer, Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Writes data, copying as much as flow control and the send window accept.
write(ByteBuffer) - Method in class io.github.mahmoudimus.quic.connection.SendBuffer
Appends data to the end of the stream.
write(ByteBuffer, long) - Static method in class io.github.mahmoudimus.quic.VarInt
Writes a value in its shortest encoding.
write(ByteBuffer, long, int) - Static method in class io.github.mahmoudimus.quic.packet.PacketNumber
Writes a truncated packet number in big-endian order.
writeCancelPush(long) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
A CANCEL_PUSH frame.
writeCertificatePem(Path) - Method in class org.microproxy.tls.CertificateAuthority
Writes the CA certificate in PEM format.
writeChunks(StreamId, ByteBuffer[], Retransmits) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Writes buffers without copying them: the stream keeps views until the data is acknowledged, so their contents must not change.
writeClientPreface() - Method in class io.github.mahmoudimus.http2.FrameWriter
Writes the client connection preface; a client then sends its SETTINGS.
writeControlFrames(ByteBuffer, Retransmits, Retransmits, int) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Writes pending stream control frames: RESET_STREAM, STOP_SENDING, MAX_DATA, MAX_STREAM_DATA, MAX_STREAMS, STREAMS_BLOCKED, DATA_BLOCKED and STREAM_DATA_BLOCKED, as many as fit.
writeData(byte[]) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
One DATA frame with all of data.
writeData(byte[], int, int) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
One DATA frame.
writeData(int, byte[], int, int, boolean) - Method in class io.github.mahmoudimus.http2.FrameWriter
One DATA frame, unpadded.
writeFrame(Frame) - Method in class io.github.mahmoudimus.http2.FrameWriter
Writes one frame exactly as given.
writeFrame(Http3Frame) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
Writes one frame exactly as given.
writeGoAway(int, ErrorCode, byte[]) - Method in class io.github.mahmoudimus.http2.FrameWriter
Writes a connection shutdown frame.
writeGoAway(long) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
A GOAWAY frame.
writeHandshake(EncryptionLevel) - Method in class io.github.mahmoudimus.quic.tls.TlsSession
Takes the handshake bytes queued for sending at a level, in order.
writeHeaders(byte[]) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
A HEADERS frame carrying an encoded field section from QpackEncoder.
writeHeaders(int, byte[], boolean) - Method in class io.github.mahmoudimus.http2.FrameWriter
A complete field block: one HEADERS frame, followed by CONTINUATION frames if it is too long for one.
writeLimit() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
How much the application may write now: the peer's remaining connection credit, limited by the send window.
writeMaxPushId(long) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
A MAX_PUSH_ID frame.
writePing(boolean, long) - Method in class io.github.mahmoudimus.http2.FrameWriter
Writes a connection PING.
writePushPromise(int, int, byte[]) - Method in class io.github.mahmoudimus.http2.FrameWriter
A complete PUSH_PROMISE field block, with CONTINUATION frames as needed.
writePushPromise(long, byte[]) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
A PUSH_PROMISE frame.
writeRstStream(int, ErrorCode) - Method in class io.github.mahmoudimus.http2.FrameWriter
Terminates one stream.
writeSettings(Http2Settings) - Method in class io.github.mahmoudimus.http2.FrameWriter
Writes the settings that differ from the protocol defaults.
writeSettings(Http3Settings) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
A SETTINGS frame.
writeSettings(Map<Integer, Long>) - Method in class io.github.mahmoudimus.http2.FrameWriter
Writes the supplied setting identifiers and values.
writeSettingsAck() - Method in class io.github.mahmoudimus.http2.FrameWriter
Acknowledges the peer SETTINGS.
writeStreamFrames(ByteBuffer, int, boolean) - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Writes STREAM frames from the pending streams, highest priority first, as many as fit.
writeStreamType(long) - Method in class io.github.mahmoudimus.http3.Http3FrameWriter
Writes the stream type that must start a unidirectional stream; see Http3StreamType.
writeTo(byte[], int) - Method in class io.github.mahmoudimus.quic.ConnectionId
Writes the bytes into an array, without a length prefix.
writeTo(ByteBuffer) - Method in class io.github.mahmoudimus.quic.ConnectionId
Writes the bytes, without a length prefix.
writeTo(ByteBuffer) - Method in class io.github.mahmoudimus.quic.StatelessResetToken
Writes the token.
writeWindowUpdate(int, int) - Method in class io.github.mahmoudimus.http2.FrameWriter
Returns flow-control credit to the peer.
writeWithSize(ByteBuffer, long, int) - Static method in class io.github.mahmoudimus.quic.VarInt
Writes a value in a chosen encoding length, which may be longer than necessary (as the two-byte Length field of a long header is, so that it can be patched once the payload is known).
Written(long, int) - Constructor for record class io.github.mahmoudimus.quic.connection.StreamsState.Written
Creates an instance of a Written record class.

X

X25519 - Enum constant in enum class io.github.mahmoudimus.quic.tls.NamedGroup
X25519 (RFC 7748).
xorMask(byte[], int, int, int) - Method in interface org.microproxy.simd.Simd.Ops
XORs a[off, off + len) with the 4-byte mask repeated, starting with its most significant byte: WebSocket (un)masking.
xorMask(byte[], int, int, int) - Static method in class org.microproxy.simd.Simd
Applies the repeating four-byte WebSocket mask to an array range.

Z

ZERO_RTT - Enum constant in enum class io.github.mahmoudimus.quic.EncryptionLevel
Early data keys, from a resumed session.
ZERO_RTT - Enum constant in enum class io.github.mahmoudimus.quic.packet.PacketType
0-RTT (long header), early application data.
zeroRtt() - Method in class org.microproxy.Http3Options
Whether the HTTP/3 listeners accept 0-RTT early data from clients that resume a session: off by default.
zeroRtt(boolean) - Method in class org.microproxy.Http3Options.Builder
Whether the HTTP/3 listeners (--http3 and the clients the transparent QUIC listener intercepts) accept 0-RTT early data (default off).
ZeroRtt(QuicVersion, ConnectionId, ConnectionId, long, int) - Constructor for record class io.github.mahmoudimus.quic.packet.PacketHeader.ZeroRtt
A 0-RTT header.
zeroRttAccepted() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the zeroRttAccepted record component.
zeroRttAttempted() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether 0-RTT was attempted: offered by this client, or accepted by this server.
zeroRttRejected() - Method in class io.github.mahmoudimus.quic.connection.Connection
Whether 0-RTT was attempted and not accepted: on a client, the server rejected it; on a server, the client sent 0-RTT packets that it did not accept.
zeroRttRejected() - Method in class io.github.mahmoudimus.quic.connection.StreamsState
Forgets every local stream after the server rejected 0-RTT.
zeroRttRejected() - Method in record class io.github.mahmoudimus.quic.QuicConnection.Stats
Returns the value of the zeroRttRejected record component.
zigzag() - Method in record class org.microproxy.contentviews.ProtoValue.Varint
Returns the value read as zigzag-encoded, as sint32 and sint64 are.
zigzagDecode(long) - Static method in class org.microproxy.contentviews.Protobuf
Decodes a zigzag-encoded 64-bit value: 0, 1, 2, 3 become 0, -1, 1, -2.
zigzagDecode32(int) - Static method in class org.microproxy.contentviews.Protobuf
Decodes a zigzag-encoded 32-bit value.
zigzagEncode(long) - Static method in class org.microproxy.contentviews.Protobuf
Zigzag-encodes a signed 64-bit value, as sint64 fields are: 0, -1, 1, -2 become 0, 1, 2, 3.
zigzagEncode32(int) - Static method in class org.microproxy.contentviews.Protobuf
Zigzag-encodes a signed 32-bit value, as sint32 fields are.
ZstdDecompressor - Class in io.github.mahmoudimus.zstd
Decodes Zstandard data (RFC 8878).
ZstdDecompressor.Builder - Class in io.github.mahmoudimus.zstd
Options for ZstdDecompressor.
ZstdDictionary - Class in io.github.mahmoudimus.zstd
A dictionary for frames compressed with one (RFC 8878 section 5): either a formatted dictionary, as made by zstd --train, with its own ID, entropy tables and starting offsets, or raw content with ID 0.
ZstdException - Exception Class in io.github.mahmoudimus.zstd
The input is not valid Zstandard data, or needs more than the decoder is allowed to use.
ZstdException(String) - Constructor for exception class io.github.mahmoudimus.zstd.ZstdException
Creates a decoder failure with a diagnostic message.
ZstdException(String, Throwable) - Constructor for exception class io.github.mahmoudimus.zstd.ZstdException
Creates a decoder failure caused by another exception.
ZstdInputStream - Class in io.github.mahmoudimus.zstd
Decompresses Zstandard data read from another stream.
ZstdInputStream(InputStream) - Constructor for class io.github.mahmoudimus.zstd.ZstdInputStream
Decodes in with default settings.
A B C D E F G H I J K L M N O P Q R S T U V W X Z 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form