fix: handle JSON with empty string keys in API responses #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Invoke-RestMethodencounters JSON with empty string keysInvoke-RestMethodwithInvoke-WebRequest+ConvertFrom-Json -AsHashtableInvoke-WebRequestinstead ofInvoke-RestMethodProblem
Invoke-RestMethodsilently returns strings when JSON parsing fails (e.g., with empty string keys like{"":...}). This affects Sentry API endpoints like/events/{id}/json/that return:{"debug_id":{"":{"err":["missing_attribute"]}}}Solution
Invoke-WebRequestfor explicit control over JSON parsingConvertFrom-Json -AsHashtablewhich gracefully handles empty string keysInvoke-WebRequestwith proper response format:SentryApiClient.Tests.ps1SentryApiClient.Fixtures.Tests.ps1SentryApiClient.Integration.Tests.ps1-ErrorAction SilentlyContinueto PSScriptAnalyzer in CI to suppress false positive errors in test mocksChanges
Core Implementation:
Invoke-RestMethodtoInvoke-WebRequest+ manual JSON parsing with-AsHashtableTest Updates:
@{ Content = (JSON) }CI Fixes:
Test Plan
-AsHashtablehandles empty string keys correctly🤖 Generated with Claude Code