jnichols-git / jnichols-git/matcha

Implement shorthand error handling

Open
#61 2 comments 0 reactions 1 assignee Claimed by @SuneelFreimuth View on GitHub
minor
Dominant language
Go
Stars
9
Forks
6
PR merge metrics
No merged PRs in 30d

Description

[RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) defines a standard response format for HTTP handling problems. Error handling in Go has always been a bit verbose, but HTTP introduces the additional step of constructing and writing a response each time, which can be very frustrating if you want to have an error that isn't `500 Internal Server Error`. I would like to implement a standard `ProblemResponse` that takes in a ResponseWriter and fields related to 7807 (type string, title string, status code, detail string, instance string) and writes a formatted response with content type `application/problem+json. This function/type should validate that the inputs are OK according to spec (so type and instance must be URIs, etc).

Notably, this should ***not*** write a problem on panics--exposing internal errors can be a serious security issue, and the decision to use RFC 7807 or not should be a conscious one made during regular operation.

Since 7807 is a proposal, I would also like to implement an `ErrorResponse` that just takes in a code and an error instead of the problem fields.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.