@@ -30,14 +30,28 @@ const (
3030 ErrScriptMetadataOverride = "METADATA_OVERRIDE"
3131)
3232
33- func HandleCommonErrors (w http.ResponseWriter , r * http.Request , err error ) {
33+ // HandleCommonWriteErrors gère spécifiquement les erreurs liées aux opérations d'écriture
34+ // telles que les erreurs d'idempotence
35+ func HandleCommonWriteErrors (w http.ResponseWriter , r * http.Request , err error ) {
3436 switch {
35- case errors .Is (err , postgres.ErrTooManyClient {}):
36- api .WriteErrorResponse (w , http .StatusServiceUnavailable , api .ErrorInternal , err )
3737 case errors .Is (err , ledgercontroller.ErrIdempotencyKeyConflict {}):
3838 api .WriteErrorResponse (w , http .StatusConflict , ErrConflict , err )
3939 case errors .Is (err , ledgercontroller.ErrInvalidIdempotencyInput {}):
4040 api .BadRequest (w , ErrValidation , err )
41+ case errors .Is (err , ledgercontroller.ErrTransactionReferenceConflict {}):
42+ api .WriteErrorResponse (w , http .StatusConflict , ErrConflict , err )
43+ case errors .Is (err , ledgercontroller .ErrNotFound ):
44+ api .NotFound (w , err )
45+ default :
46+ HandleCommonErrors (w , r , err )
47+ }
48+ }
49+
50+ // HandleCommonErrors gère les erreurs communes plus générales
51+ func HandleCommonErrors (w http.ResponseWriter , r * http.Request , err error ) {
52+ switch {
53+ case errors .Is (err , postgres.ErrTooManyClient {}):
54+ api .WriteErrorResponse (w , http .StatusServiceUnavailable , api .ErrorInternal , err )
4155 default :
4256 InternalServerError (w , r , err )
4357 }
0 commit comments