Skip to content

Commit c555b9a

Browse files
committed
Don't over complicate things with needless abstraction methods
1 parent bbc60de commit c555b9a

2 files changed

Lines changed: 4 additions & 23 deletions

File tree

lib/entitlements/service/github.rb

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -362,22 +362,6 @@ def graphql_result_retryable?(result)
362362
result[:code] >= 500
363363
end
364364

365-
# Helper: log `message` to `Entitlements.logger` at the given severity. Restricts
366-
# the dispatch to a known set of severities so callers can pick a level computed
367-
# at runtime without going through `send`/`public_send`.
368-
#
369-
# severity - Symbol, one of :warn or :error.
370-
# message - String message to log.
371-
#
372-
# Returns nothing.
373-
Contract C::Or[:warn, :error], String => C::Any
374-
def log_at_severity(severity, message)
375-
case severity
376-
when :warn then Entitlements.logger.warn(message)
377-
when :error then Entitlements.logger.error(message)
378-
end
379-
end
380-
381365
# Helper method: Do the HTTP POST to the GitHub API for GraphQL.
382366
#
383367
# query - String with the data to be posted.
@@ -401,9 +385,8 @@ def graphql_http_post_real(query)
401385
# The retry wrapper retries on 5xx, so log those at WARN to avoid misleading
402386
# the operator with an ERROR for a transient failure that we recover from.
403387
# Terminal non-2xx responses (4xx) stay at ERROR.
404-
severity = response.code.start_with?("5") ? :warn : :error
405-
log_at_severity(severity, "Got HTTP #{response.code} POSTing to #{uri}")
406-
log_at_severity(severity, response.body)
388+
msg = "POST to #{uri} returned HTTP Code #{response.code} and Body: #{response.body}"
389+
response.code.start_with?("5") ? Entitlements.logger.warn(msg) : Entitlements.logger.error(msg)
407390
return { code: response.code.to_i, data: { "body" => response.body } }
408391
end
409392

spec/unit/entitlements/service/github_spec.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -379,17 +379,15 @@
379379
it "logs at error and returns code and body for a non-200 4xx response" do
380380
answer = { "errors" => ["message" => "Something busted"] }
381381
stub_request(:post, "https://github.fake/api/v3/graphql").to_return(status: 429, body: JSON.generate(answer))
382-
expect(logger).to receive(:error).with("Got HTTP 429 POSTing to https://github.fake/api/v3/graphql")
383-
expect(logger).to receive(:error).with("{\"errors\":[{\"message\":\"Something busted\"}]}")
382+
expect(logger).to receive(:error).with("POST to https://github.fake/api/v3/graphql returned HTTP Code 429 and Body: #{JSON.generate(answer)}")
384383
response = subject.send(:graphql_http_post_real, "nonsense")
385384
expect(response).to eq(code: 429, data: { "body" => JSON.generate(answer) })
386385
end
387386

388387
it "logs at warn and returns code and body for a 5xx response (retryable)" do
389388
body = '{"message": "We couldn\'t respond to your request in time. Sorry about that."}'
390389
stub_request(:post, "https://github.fake/api/v3/graphql").to_return(status: 504, body:)
391-
expect(logger).to receive(:warn).with("Got HTTP 504 POSTing to https://github.fake/api/v3/graphql")
392-
expect(logger).to receive(:warn).with(body)
390+
expect(logger).to receive(:warn).with("POST to https://github.fake/api/v3/graphql returned HTTP Code 504 and Body: #{body}")
393391
response = subject.send(:graphql_http_post_real, "nonsense")
394392
expect(response).to eq(code: 504, data: { "body" => body })
395393
end

0 commit comments

Comments
 (0)