New Transparent capture is in preview. Record every app's traffic with no proxy configuration, on Windows, macOS and Linux. Learn more

protobufFilter Filter

Select exchanges whose request or response body is protobuf, detected through the Content-Type header on either side of the call.

protobufFilter is the most permissive way to single out binary protobuf traffic in a Fluxzy session. Pair it with capture, tagging or transport actions to build a focused workflow around gRPC and protobuf APIs without losing visibility on JSON or form encoded calls.

When to use this filter

Use protobufFilter when you need a rule that fires for any exchange involving protobuf, regardless of which side carries the binary payload. It is the natural choice for general purpose dashboards or capture profiles dedicated to gRPC and protobuf APIs.

Typical situations:

  • Routing every protobuf exchange to a dedicated capture file for offline analysis.
  • Tagging gRPC traffic with a consistent label so you can pivot on it in the timeline.
  • Building a sanity check that flags any request or response with a application/x-protobuf or application/grpc Content-Type.

The filter evaluates on the responseHeaderReceivedFromRemote scope, so it can inspect both sides of the exchange. Prefer protobufRequestFilter or protobufResponseFilter when you only care about one direction.

Real world examples

Capture every protobuf exchange to a dedicated session

Send any request or response carrying protobuf to a separate capture so the binary payloads can be decoded later with a known .proto schema.

rules:
- filter:
    typeKind: ProtobufFilter
  actions:
  - typeKind: CaptureSessionAction

Tag all gRPC and protobuf traffic

Apply a single tag to every exchange that uses protobuf, useful in mixed JSON and gRPC environments where you want to slice the timeline by encoding.

rules:
- filter:
    typeKind: ProtobufFilter
  actions:
  - typeKind: ApplyTagAction
    tag:
      value: protobuf

Force HTTP/2 for protobuf calls

Protobuf APIs are usually served over HTTP/2. Use the filter to make sure the proxy never downgrades these exchanges to HTTP/1.1.

rules:
- filter:
    typeKind: ProtobufFilter
  actions:
  - typeKind: ForceHttp2Action

Reference

protobufFilter

Description

Select exchanges having a protobuf request or response body. Filtering is made by inspecting value of Content-Type header on both request and response.

Evaluation scope

Evaluation scope defines the timing where this filter will be applied.

responseHeaderReceivedFromRemote This scope occurs the moment fluxzy has done parsing the response header.

YAML configuration name

protobufFilter

Settings

This filter has no specific characteristic

The following table describes the customizable properties available for this filter:

Property Type Description DefaultValue
inverted boolean Negate the filter result false

Example of usage

The following examples apply a comment to the filtered exchange

Select exchanges with protobuf request or response body.

rules:
- filter:
    typeKind: ProtobufFilter
  actions:
  - typeKind: ApplyCommentAction
    comment: filter was applied

Select exchanges without any protobuf body.

rules:
- filter:
    typeKind: ProtobufFilter
  actions:
  - typeKind: ApplyCommentAction
    comment: filter was applied

.NET reference

View definition of ProtobufFilter for .NET integration.

See also

This filter has no related filter

Frequently asked questions

How does Fluxzy detect a protobuf body?

The filter inspects the Content-Type header on both request and response. Common values include application/x-protobuf, application/protobuf and the gRPC family application/grpc.

Is this filter the same as isGrpcFilter?

No. isGrpcFilter checks specifically for the gRPC framing on top of HTTP/2. protobufFilter is broader, it matches any exchange that declares a protobuf media type on either side.

Will it match if only one side uses protobuf?

Yes. Either the request or the response carrying a protobuf Content-Type is enough to satisfy the filter.

Can I exclude protobuf traffic from another rule?

Yes, set inverted: true to select every exchange that is not protobuf, then combine it with the action you want to apply to the remaining traffic.

Learn more about Fluxzy rules