File tree Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -26,7 +26,13 @@ extension APIRequest {
2626 public static func send< Result> ( uRLRequest: URLRequest , with session: URLSession ) async throws -> APIResponse < Result > {
2727 let ( data, response) = try await session. data ( for: uRLRequest)
2828
29- guard 200 ..< 400 ~= response. statusCode else { throw Web3Error . serverError ( code: response. statusCode) }
29+ guard 200 ..< 400 ~= response. statusCode else {
30+ if 400 ..< 500 ~= response. statusCode {
31+ throw Web3Error . clientError ( code: response. statusCode)
32+ } else {
33+ throw Web3Error . serverError ( code: response. statusCode)
34+ }
35+ }
3036
3137 /// This bit of code is purposed to work with literal types that comes in Response in hexString type.
3238 /// Currently it's just `Data` and any kind of Integers `(U)Int`, `Big(U)Int`.
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ public enum Web3Error: Error {
1515 case typeError
1616 case valueError
1717 case serverError( code: Int )
18+ case clientError( code: Int )
1819
1920 case walletError
2021 case inputError( desc: String )
@@ -52,6 +53,8 @@ public enum Web3Error: Error {
5253 return " Unsupported type "
5354 case let . serverError( code: code) :
5455 return " Server error: \( code) "
56+ case let . clientError( code: code) :
57+ return " Client error: \( code) "
5558 case . valueError:
5659 return " You're passing value that doesn't supported by this method. "
5760 }
You can’t perform that action at this time.
0 commit comments