mirror of
https://gitea.com/gitea/tea.git
synced 2026-10-26 19:11:25 +01:00
refactor: drop the URL-based error classifier and hint lookups
Errors are named by the service call that failed: Classify, NotFoundError and ConflictError at the call site. Remove the endpoint parser that guessed the resource from the request path, and the follow-up reads the explainer made at error time (repository state, issue-vs-pull-request, the existing pull request's URL) together with the credentialed transport each API error carried for them. Calls that the endpoint parser covered and the services did not now classify themselves: issues, pull requests, reviews, comments, releases, branches, wiki pages, repositories, organizations and SSH keys. Unclassified failures fall back to the generic "not found (HTTP 404 GET ...)" text. Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
20 files changed
+129
-495
No files matched your search
@@ -55,7 +55,7 @@ func (t captureTransport) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||
}
|
||||
data, _ := io.ReadAll(io.LimitReader(resp.Body, maxErrorBody))
|
||||
failure := newAPIError(resp.StatusCode, req.Method, req.URL.Path, t.token, data)
|
||||
failure.bind(req.URL, t.base)
|
||||
failure.bind(req.URL)
|
||||
holder.Store(failure)
|
||||
resp.Body = struct {
|
||||
io.Reader
|
||||
|
||||
Reference in new issue
Block a user