All modules:

Link copied to clipboard

The RFC 9457 model and the JSON codec. This is the only module a library or an application needs in order to build and read problem documents; the other three add a wire format or a framework.

Link copied to clipboard

Ktor server integration: respond with a problem document, and turn thrown exceptions into problem documents through StatusPages.

Link copied to clipboard

Ktor Client integration: turn a recognized application/problem+json error response into the same io.github.ilyankin.rfc9457.ProblemException that application code throws on the server side and problem-details-ktor answers.

Link copied to clipboard

Ktor Client integration for the Appendix B XML form: turn a recognized application/problem+xml error response into the same io.github.ilyankin.rfc9457.ProblemException that application code throws on the server side and problem-details-ktor answers.

Link copied to clipboard

Ktor RequestValidation plugin integration: maps RequestValidationException to a Problem carrying an errors[] extension array with JSON Pointer (RFC 6901) references — the multi-field validation pattern RFC 9457 itself recommends.

Link copied to clipboard

Registers the application/problem+xml codec with Ktor's ContentNegotiation. One function and one converter; everything else lives in problem-details-ktor and problem-details-xml, both of which this module depends on.

Link copied to clipboard

The application/problem+xml codec — RFC 9457 Appendix B, byte-exact against the example the RFC publishes, in both directions.