Sometimes a polite HTTP 5xx response is too kind. Real networks fail at the transport layer, and clients that only practice against synthetic 500 errors often crash the first time they meet a true connection reset. The abortAction lets you inject that level of failure deterministically, scoped to whatever filter you want, so your tests cover the messy edge cases as well as the happy path.
Reach for abortAction when you need the client to observe a real transport level failure rather than a clean HTTP response. Unlike rejectAction, which can return a synthetic answer, this action tears down the connection between Fluxzy and the client, so dependent multiplexed streams on the same HTTP/2 connection may also be cancelled.
Typical situations include:
ECONNRESET mid request, including retry logic and offline UI.The action evaluates on the requestHeaderReceivedFromClient scope, so the kill happens as soon as Fluxzy has parsed the request line.
Drop the connection for all requests to a specific analytics host. The client sees a connection reset, not a polished error page.
rules:
- filter:
typeKind: HostFilter
pattern: tracker.example.com
actions:
- typeKind: AbortAction
Combine with a path filter to abort a single endpoint while letting the rest of the API work. Useful for retry and circuit breaker tests.
rules:
- filter:
typeKind: FilterCollection
operation: And
children:
- typeKind: HostFilter
pattern: payments.example.com
- typeKind: PathFilter
pattern: /v1/charge
actions:
- typeKind: AbortAction
Useful when you want to verify that a client gracefully falls back to long polling when the upgrade handshake never completes.
rules:
- filter:
typeKind: FilterCollection
operation: And
children:
- typeKind: IsWebSocketFilter
- typeKind: HostFilter
pattern: realtime.example.com
actions:
- typeKind: AbortAction
Abort an exchange at the transport level. This action will close connection between fluxzy and client which may lead to depended exchanges to be aborted too.
Evaluation scope defines the timing where this filter will be applied.
requestHeaderReceivedFromClient This scope occurs the moment fluxzy parsed the request header receiveid from client
abortAction
This action has no specific characteristic
The following examples apply this action to any exchanges
Abort an exchange at the transport level. This action will close connection between fluxzy and client which may lead to depended exchanges to be aborted too.
rules:
- filter:
typeKind: AnyFilter
actions:
- typeKind: AbortAction
description: Abort
View definition of AbortAction for .NET integration.
The following actions are related to this action:
abortAction closes the underlying connection, so the client experiences a transport level error such as ECONNRESET. rejectAction lets Fluxzy answer at the HTTP layer, which is cleaner but less realistic for failure injection.
On HTTP/2 and HTTP/3 the kill happens at the connection level, so streams sharing that connection can also be aborted. On HTTP/1.1 only the current request and any pipelined follow up are affected.
Yes. Chain a delayAction before the abortAction so the connection stays open for a configurable amount of time before Fluxzy drops it.
Yes. Fluxzy logs the request that triggered the abort, so you can inspect the headers and timing even though no body was exchanged.