From cfdee3a2f920bc08cba96db67d3b035c4f02b264 Mon Sep 17 00:00:00 2001 From: Neel Shah Date: Mon, 14 Jul 2025 15:28:12 +0200 Subject: [PATCH] Factor out do_request in HTTP transport --- CHANGELOG.md | 6 ++++++ sentry-ruby/lib/sentry/transport/http_transport.rb | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f671ef34..a2d898b89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## Unreleased + +### Internal + +- Factor out do_request in HTTP transport ([#2662](https://github.com/getsentry/sentry-ruby/pull/2662)) + ## 5.26.0 ### Feature diff --git a/sentry-ruby/lib/sentry/transport/http_transport.rb b/sentry-ruby/lib/sentry/transport/http_transport.rb index 835867dac..ab1591997 100644 --- a/sentry-ruby/lib/sentry/transport/http_transport.rb +++ b/sentry-ruby/lib/sentry/transport/http_transport.rb @@ -45,11 +45,7 @@ def send_data(data) auth_header = generate_auth_header headers["X-Sentry-Auth"] = auth_header if auth_header - response = conn.start do |http| - request = ::Net::HTTP::Post.new(endpoint, headers) - request.body = data - http.request(request) - end + response = do_request(endpoint, headers, data) if response.code.match?(/\A2\d{2}/) handle_rate_limited_response(response) if has_rate_limited_header?(response) @@ -111,6 +107,14 @@ def conn connection end + def do_request(endpoint, headers, body) + conn.start do |http| + request = ::Net::HTTP::Post.new(endpoint, headers) + request.body = body + http.request(request) + end + end + private def has_rate_limited_header?(headers)