diff --git a/internal/adapters/entrypoints/rest/handlers/accept_pegin_quote.go b/internal/adapters/entrypoints/rest/handlers/accept_pegin_quote.go index b6753b23..be285829 100644 --- a/internal/adapters/entrypoints/rest/handlers/accept_pegin_quote.go +++ b/internal/adapters/entrypoints/rest/handlers/accept_pegin_quote.go @@ -34,10 +34,13 @@ func NewAcceptPeginQuoteHandler(useCase *pegin.AcceptQuoteUseCase) http.HandlerF } acceptedQuote, err := useCase.Run(req.Context(), acceptRequest.QuoteHash) - if errors.Is(err, usecases.QuoteNotFoundError) || - errors.Is(err, usecases.ExpiredQuoteError) { - jsonErr := rest.NewErrorResponseWithDetails("invalid request", rest.DetailsFromError(err), true) - rest.JsonErrorResponse(w, http.StatusBadRequest, jsonErr) + if errors.Is(err, usecases.QuoteNotFoundError) { + jsonErr := rest.NewErrorResponseWithDetails("quote not found", rest.DetailsFromError(err), true) + rest.JsonErrorResponse(w, http.StatusNotFound, jsonErr) + return + } else if errors.Is(err, usecases.ExpiredQuoteError) { + jsonErr := rest.NewErrorResponseWithDetails("expired quote", rest.DetailsFromError(err), true) + rest.JsonErrorResponse(w, http.StatusGone, jsonErr) return } else if errors.Is(err, usecases.NoLiquidityError) { jsonErr := rest.NewErrorResponseWithDetails("not enough liquidity", rest.DetailsFromError(err), true) diff --git a/internal/adapters/entrypoints/rest/handlers/accept_pegout_quote.go b/internal/adapters/entrypoints/rest/handlers/accept_pegout_quote.go index 3af21348..f8d586f0 100644 --- a/internal/adapters/entrypoints/rest/handlers/accept_pegout_quote.go +++ b/internal/adapters/entrypoints/rest/handlers/accept_pegout_quote.go @@ -34,10 +34,13 @@ func NewAcceptPegoutQuoteHandler(useCase *pegout.AcceptQuoteUseCase) http.Handle } acceptedQuote, err := useCase.Run(req.Context(), acceptRequest.QuoteHash) - if errors.Is(err, usecases.QuoteNotFoundError) || - errors.Is(err, usecases.ExpiredQuoteError) { - jsonErr := rest.NewErrorResponseWithDetails("invalid request", rest.DetailsFromError(err), true) - rest.JsonErrorResponse(w, http.StatusBadRequest, jsonErr) + if errors.Is(err, usecases.QuoteNotFoundError) { + jsonErr := rest.NewErrorResponseWithDetails("invalid quote hash", rest.DetailsFromError(err), true) + rest.JsonErrorResponse(w, http.StatusNotFound, jsonErr) + return + } else if errors.Is(err, usecases.ExpiredQuoteError) { + jsonErr := rest.NewErrorResponseWithDetails("expired quote", rest.DetailsFromError(err), true) + rest.JsonErrorResponse(w, http.StatusGone, jsonErr) return } else if errors.Is(err, usecases.NoLiquidityError) { jsonErr := rest.NewErrorResponseWithDetails("not enough liquidity", rest.DetailsFromError(err), true)