errcheck: add proper error handling with slog.Error for tx.Rollback, key generation, and s3/dav operations. Add nolint comments for intentionally discarded DB scan errors and HTTP write errors. unused: remove dead code (svcRow type, processImage, nonDepositPaymentType, generateSecureCode, colorBold, nGreen, nRed) gosimple S1021: merge var declaration with assignment in manage.go ineffassign: remove dead assignments in settings.go, till.go, images.go Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
22 lines
734 B
Go
22 lines
734 B
Go
package mw
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
)
|
|
|
|
// RespondJSON writes a JSON response with the given status code.
|
|
// The Content-Type is always set to application/json, overriding any
|
|
// middleware-set value, to ensure consistent JSON error responses.
|
|
func RespondJSON(w http.ResponseWriter, status int, data any) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.WriteHeader(status)
|
|
_ = json.NewEncoder(w).Encode(data)
|
|
}
|
|
|
|
// RespondError writes a JSON error response with the given status code and message.
|
|
// Use instead of http.Error() to ensure error responses are application/json.
|
|
func RespondError(w http.ResponseWriter, status int, message string) {
|
|
RespondJSON(w, status, map[string]string{"error": message})
|
|
}
|