Plugins

Optional Ktor integrations Connect-Ktor ships beside ContentNegotiation.

Plugins

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.

PieceRole
SerializationconnectJson() / connectProto() for ContentNegotiation
Connect GETIdempotent unary over HTTP GET
Body limitDecoded-size caps (connectBodyLimit)
Streaming limitsPer-message request caps (ConnectStreaming)
CompressionGzip with UnaryCompressionGuard
ProtovalidateRequest 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.