Optional Ktor integrations Connect-Ktor ships beside ContentNegotiation.
Connect-Ktor is a small set of focused Ktor pieces, not a single framework switch.
Most apps start with serialization plus the code generator. The rest are optional guards you turn on when the traffic shape needs them.
| Piece | Role |
|---|---|
| Serialization | connectJson() / connectProto() for ContentNegotiation |
| Connect GET | Idempotent unary over HTTP GET |
| Body limit | Decoded-size caps (connectBodyLimit) |
| Streaming limits | Per-message request caps (ConnectStreaming) |
| Compression | Gzip with UnaryCompressionGuard |
| Protovalidate | Request validation via Buf validate rules |
Install only what the route needs. REST routes outside a Connect scope keep Ktor's default behaviour.
Route interfaces from .proto services live under
Code generator — that tool is not a Ktor plugin.
For the protocol behaviour each plugin implements (content types, Connect GET, error codes), see the official Connect protocol docs rather than treating these pages as a full protocol reference.