Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve error reporting for EncodingError and DecodingError #2981

Merged
merged 2 commits into from Jul 5, 2023

Conversation

grahamburgsma
Copy link
Contributor

As EncodingError and DecodingError both conform to LocalizedError, error reporting uses their localizedDescription which is just a generic error message.

So this changes the error reporting from:

The operation could not be completed. The data isn’t in the correct format.

To a description much more useful (for example):

invalidValue(inf, Swift.EncodingError.Context(codingPath: [...], debugDescription: "Unable to encode Double.inf directly in JSON.", underlyingError: nil))

Copy link
Member

@0xTim 0xTim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! LGTM

@0xTim 0xTim added the semver-patch Internal changes only label Jul 5, 2023
@0xTim 0xTim enabled auto-merge (squash) July 5, 2023 13:02
@codecov-commenter
Copy link

Codecov Report

Merging #2981 (def7267) into main (38cb397) will decrease coverage by 0.20%.
The diff coverage is 25.00%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2981      +/-   ##
==========================================
- Coverage   76.77%   76.58%   -0.20%     
==========================================
  Files         211      211              
  Lines        7773     7781       +8     
==========================================
- Hits         5968     5959       -9     
- Misses       1805     1822      +17     
Impacted Files Coverage Δ
Sources/Vapor/Logging/Logger+Report.swift 75.00% <25.00%> (-12.50%) ⬇️

... and 2 files with indirect coverage changes

@0xTim 0xTim merged commit 1baf623 into vapor:main Jul 5, 2023
12 checks passed
@VaporBot
Copy link
Contributor

VaporBot commented Jul 5, 2023

These changes are now available in 4.77.1

keniwhat pushed a commit to keniwhat/vapor that referenced this pull request Aug 29, 2023
* main: (75 commits)
  Make Storage Sendable (vapor#3056)
  Add Sendable Conformances to undelying types (vapor#3054)
  Resolve issue vapor#2650 (vapor#2674)
  Fix for vapor#2574 Missing quote from value (vapor#2839)
  Allow specifying a timeout for client requests (vapor#3043)
  Update dependencies with known CVEs to the latest versions (vapor#3038)
  Create CODEOWNERS
  Improve error reporting for `EncodingError` and `DecodingError` (vapor#2981)
  Fix incorrect use of non-localhost connection in test
  Update README with new Sponsor (vapor#3025)
  Add `ContentContainer.decode(_:as:)` (vapor#3023)
  Fixed drain handler call order in case of asynchronous buffer handling (vapor#3009)
  Update README with new Sponsor (vapor#3024)
  Update README with new Sponsor (vapor#3020)
  Don't use UnsafeRawBufferPointer.withMemoryRebound(to:_:) before Swift 5.7.2 (vapor#3021)
  Avoid deadlocking websocket tests (vapor#3019)
  Update README with new Sponsor (vapor#3014)
  Fix `Range: bytes=0-0` header not working properly (vapor#3010)
  Remove use of HTTPBin (vapor#3017)
  Improved error logging (vapor#3016)
  ...

# Conflicts:
#	Sources/Vapor/HTTP/Headers/HTTPHeaders+ContentRange.swift
#	Sources/Vapor/Utilities/FileIO.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver-patch Internal changes only
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants