diff options
Diffstat (limited to 'app/services/service_response.rb')
-rw-r--r-- | app/services/service_response.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/services/service_response.rb b/app/services/service_response.rb index 6bc394d2ae2..c7ab75a4426 100644 --- a/app/services/service_response.rb +++ b/app/services/service_response.rb @@ -18,6 +18,24 @@ class ServiceResponse self.http_status = http_status end + def track_exception(as: StandardError, **extra_data) + if error? + e = as.new(message) + Gitlab::ErrorTracking.track_exception(e, extra_data) + end + + self + end + + def track_and_raise_exception(as: StandardError, **extra_data) + if error? + e = as.new(message) + Gitlab::ErrorTracking.track_and_raise_exception(e, extra_data) + end + + self + end + def [](key) to_h[key] end |