mirror of
https://codeberg.org/git-pages/git-pages.git
synced 2026-05-14 11:11:35 +00:00
Move update error observation to a single place. NFC
This commit is contained in:
@@ -328,7 +328,6 @@ func putPage(w http.ResponseWriter, r *http.Request) error {
|
||||
|
||||
switch result.outcome {
|
||||
case UpdateError:
|
||||
ObserveError(result.err)
|
||||
if errors.Is(result.err, ErrManifestTooLarge) {
|
||||
w.WriteHeader(http.StatusRequestEntityTooLarge)
|
||||
} else if errors.Is(result.err, errArchiveFormat) {
|
||||
@@ -339,7 +338,6 @@ func putPage(w http.ResponseWriter, r *http.Request) error {
|
||||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
}
|
||||
case UpdateTimeout:
|
||||
ObserveError(fmt.Errorf("update timeout"))
|
||||
w.WriteHeader(http.StatusGatewayTimeout)
|
||||
case UpdateNoChange:
|
||||
w.Header().Add("X-Pages-Update", "no-change")
|
||||
@@ -504,11 +502,9 @@ func postPage(w http.ResponseWriter, r *http.Request) error {
|
||||
|
||||
switch result.outcome {
|
||||
case UpdateError:
|
||||
ObserveError(result.err)
|
||||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
fmt.Fprintf(w, "update error: %s\n", result.err)
|
||||
case UpdateTimeout:
|
||||
ObserveError(fmt.Errorf("update timeout"))
|
||||
w.WriteHeader(http.StatusGatewayTimeout)
|
||||
fmt.Fprintln(w, "update timeout")
|
||||
case UpdateNoChange:
|
||||
|
||||
@@ -82,7 +82,7 @@ func UpdateFromRepository(
|
||||
webRoot string,
|
||||
repoURL string,
|
||||
branch string,
|
||||
) UpdateResult {
|
||||
) (result UpdateResult) {
|
||||
span, ctx := ObserveFunction(ctx, "UpdateFromRepository", "repo.url", repoURL)
|
||||
defer span.Finish()
|
||||
|
||||
@@ -90,12 +90,15 @@ func UpdateFromRepository(
|
||||
|
||||
manifest, err := FetchRepository(ctx, repoURL, branch)
|
||||
if errors.Is(err, context.DeadlineExceeded) {
|
||||
return UpdateResult{UpdateTimeout, nil, fmt.Errorf("update timeout")}
|
||||
result = UpdateResult{UpdateTimeout, nil, fmt.Errorf("update timeout")}
|
||||
} else if err != nil {
|
||||
return UpdateResult{UpdateError, nil, err}
|
||||
result = UpdateResult{UpdateError, nil, err}
|
||||
} else {
|
||||
return Update(ctx, webRoot, manifest)
|
||||
result = Update(ctx, webRoot, manifest)
|
||||
}
|
||||
|
||||
observeUpdateResult(result)
|
||||
return result
|
||||
}
|
||||
|
||||
var errArchiveFormat = errors.New("unsupported archive format")
|
||||
@@ -105,7 +108,7 @@ func UpdateFromArchive(
|
||||
webRoot string,
|
||||
contentType string,
|
||||
reader io.Reader,
|
||||
) UpdateResult {
|
||||
) (result UpdateResult) {
|
||||
var manifest *Manifest
|
||||
var err error
|
||||
|
||||
@@ -128,8 +131,17 @@ func UpdateFromArchive(
|
||||
|
||||
if err != nil {
|
||||
log.Printf("update %s err: %s", webRoot, err)
|
||||
return UpdateResult{UpdateError, nil, err}
|
||||
result = UpdateResult{UpdateError, nil, err}
|
||||
} else {
|
||||
return Update(ctx, webRoot, manifest)
|
||||
result = Update(ctx, webRoot, manifest)
|
||||
}
|
||||
|
||||
observeUpdateResult(result)
|
||||
return
|
||||
}
|
||||
|
||||
func observeUpdateResult(result UpdateResult) {
|
||||
if result.err != nil {
|
||||
ObserveError(result.err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user