Skip to content

Commit 6229fda

Browse files
committed
request as real async/await concurrency
1 parent ac8e511 commit 6229fda

File tree

75 files changed

+1180
-1678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1180
-1678
lines changed

.github/workflows/swift_macos.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- "main"
7+
- "async"
78
paths:
89
- ".github/workflows/**"
910
- "Package.swift"

Package.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import PackageDescription
55
let package = Package(
66
name: "SmartNetwork",
77
platforms: [
8-
.iOS(.v13),
9-
.macOS(.v11),
8+
.iOS(.v15),
9+
.macOS(.v12),
1010
.macCatalyst(.v13),
1111
.visionOS(.v1),
12-
.tvOS(.v13),
13-
.watchOS(.v6)
12+
.tvOS(.v15),
13+
.watchOS(.v8)
1414
],
1515
products: [
1616
.library(name: "SmartNetwork", targets: ["SmartNetwork"])

Package@swift-5.8.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import PackageDescription
55
let package = Package(
66
name: "SmartNetwork",
77
platforms: [
8-
.iOS(.v13),
9-
.macOS(.v11),
8+
.iOS(.v15),
9+
.macOS(.v12),
1010
.macCatalyst(.v13),
11-
.tvOS(.v13),
12-
.watchOS(.v6)
11+
.tvOS(.v15),
12+
.watchOS(.v8)
1313
],
1414
products: [
1515
.library(name: "SmartNetwork", targets: ["SmartNetwork"])

Package@swift-5.9.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import PackageDescription
55
let package = Package(
66
name: "SmartNetwork",
77
platforms: [
8-
.iOS(.v13),
9-
.macOS(.v11),
8+
.iOS(.v15),
9+
.macOS(.v12),
1010
.macCatalyst(.v13),
1111
.visionOS(.v1),
12-
.tvOS(.v13),
13-
.watchOS(.v6)
12+
.tvOS(.v15),
13+
.watchOS(.v8)
1414
],
1515
products: [
1616
.library(name: "SmartNetwork", targets: ["SmartNetwork"])

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public protocol RequestManager {
5757
var data: TypedRequestManager<Data> { get }
5858

5959
/// ``Image`` request manager.
60-
var image: TypedRequestManager<Image> { get }
60+
var image: TypedRequestManager<SmartImage> { get }
6161

6262
/// ``JSON`` request manager.
6363
var json: TypedRequestManager<Any> { get }
@@ -68,7 +68,7 @@ public protocol RequestManager {
6868
var dataOptional: TypedRequestManager<Data?> { get }
6969

7070
/// ``Image`` request manager.
71-
var imageOptional: TypedRequestManager<Image?> { get }
71+
var imageOptional: TypedRequestManager<SmartImage?> { get }
7272

7373
/// ``JSON`` request manager.
7474
var jsonOptional: TypedRequestManager<Any?> { get }
@@ -161,7 +161,7 @@ extension SmartRequestManager {
161161
}
162162

163163
private struct KeyPathDecodableContent<T: KeyPathDecodable>: Deserializable {
164-
func decode(with data: RequestResult, parameters: Parameters) -> Result<T.Response?, Error> {
164+
func decode(with data: SmartResponse, parameters: Parameters) -> Result<T.Response?, Error> {
165165
if let error = data.error {
166166
return .failure(error)
167167
} else if let data = data.body {

Source/Address/Address.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public struct Address: Hashable {
2222
public let shouldRemoveSlashesForEmptyScheme: Bool
2323

2424
init(_ urling: Source,
25-
shouldAddSlashAfterEndpoint: Bool = RequestSettings.shouldAddSlashAfterEndpoint,
26-
shouldRemoveSlashesForEmptyScheme: Bool = RequestSettings.shouldRemoveSlashesForEmptyScheme) {
25+
shouldAddSlashAfterEndpoint: Bool = SmartNetworkSettings.shouldAddSlashAfterEndpoint,
26+
shouldRemoveSlashesForEmptyScheme: Bool = SmartNetworkSettings.shouldRemoveSlashesForEmptyScheme) {
2727
self.shouldAddSlashAfterEndpoint = shouldAddSlashAfterEndpoint
2828
self.shouldRemoveSlashesForEmptyScheme = shouldRemoveSlashesForEmptyScheme
2929
self.source = urling
@@ -46,32 +46,32 @@ public struct Address: Hashable {
4646

4747
public extension Address {
4848
init(_ urling: URL,
49-
shouldAddSlashAfterEndpoint: Bool = RequestSettings.shouldAddSlashAfterEndpoint,
50-
shouldRemoveSlashesForEmptyScheme: Bool = RequestSettings.shouldRemoveSlashesForEmptyScheme) {
49+
shouldAddSlashAfterEndpoint: Bool = SmartNetworkSettings.shouldAddSlashAfterEndpoint,
50+
shouldRemoveSlashesForEmptyScheme: Bool = SmartNetworkSettings.shouldRemoveSlashesForEmptyScheme) {
5151
self.shouldAddSlashAfterEndpoint = shouldAddSlashAfterEndpoint
5252
self.shouldRemoveSlashesForEmptyScheme = shouldRemoveSlashesForEmptyScheme
5353
self.source = .url(urling)
5454
}
5555

5656
init(_ urling: String,
57-
shouldAddSlashAfterEndpoint: Bool = RequestSettings.shouldAddSlashAfterEndpoint,
58-
shouldRemoveSlashesForEmptyScheme: Bool = RequestSettings.shouldRemoveSlashesForEmptyScheme) {
57+
shouldAddSlashAfterEndpoint: Bool = SmartNetworkSettings.shouldAddSlashAfterEndpoint,
58+
shouldRemoveSlashesForEmptyScheme: Bool = SmartNetworkSettings.shouldRemoveSlashesForEmptyScheme) {
5959
self.shouldAddSlashAfterEndpoint = shouldAddSlashAfterEndpoint
6060
self.shouldRemoveSlashesForEmptyScheme = shouldRemoveSlashesForEmptyScheme
6161
self.source = .string(urling)
6262
}
6363

6464
init(_ urling: URLComponents,
65-
shouldAddSlashAfterEndpoint: Bool = RequestSettings.shouldAddSlashAfterEndpoint,
66-
shouldRemoveSlashesForEmptyScheme: Bool = RequestSettings.shouldRemoveSlashesForEmptyScheme) {
65+
shouldAddSlashAfterEndpoint: Bool = SmartNetworkSettings.shouldAddSlashAfterEndpoint,
66+
shouldRemoveSlashesForEmptyScheme: Bool = SmartNetworkSettings.shouldRemoveSlashesForEmptyScheme) {
6767
self.shouldAddSlashAfterEndpoint = shouldAddSlashAfterEndpoint
6868
self.shouldRemoveSlashesForEmptyScheme = shouldRemoveSlashesForEmptyScheme
6969
self.source = .components(urling)
7070
}
7171

7272
init(_ urling: AddressDetails,
73-
shouldAddSlashAfterEndpoint: Bool = RequestSettings.shouldAddSlashAfterEndpoint,
74-
shouldRemoveSlashesForEmptyScheme: Bool = RequestSettings.shouldRemoveSlashesForEmptyScheme) {
73+
shouldAddSlashAfterEndpoint: Bool = SmartNetworkSettings.shouldAddSlashAfterEndpoint,
74+
shouldRemoveSlashesForEmptyScheme: Bool = SmartNetworkSettings.shouldRemoveSlashesForEmptyScheme) {
7575
self.shouldAddSlashAfterEndpoint = shouldAddSlashAfterEndpoint
7676
self.shouldRemoveSlashesForEmptyScheme = shouldRemoveSlashesForEmptyScheme
7777
self.source = .details(urling)
@@ -83,8 +83,8 @@ public extension Address {
8383
path: [String] = [],
8484
queryItems: QueryItems = [:],
8585
fragment: String? = nil,
86-
shouldAddSlashAfterEndpoint: Bool = RequestSettings.shouldAddSlashAfterEndpoint,
87-
shouldRemoveSlashesForEmptyScheme: Bool = RequestSettings.shouldRemoveSlashesForEmptyScheme) {
86+
shouldAddSlashAfterEndpoint: Bool = SmartNetworkSettings.shouldAddSlashAfterEndpoint,
87+
shouldRemoveSlashesForEmptyScheme: Bool = SmartNetworkSettings.shouldRemoveSlashesForEmptyScheme) {
8888
self.shouldAddSlashAfterEndpoint = shouldAddSlashAfterEndpoint
8989
self.shouldRemoveSlashesForEmptyScheme = shouldRemoveSlashesForEmptyScheme
9090

Source/CURLConvertible.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public extension CURLConvertible {
1818
return "$ curl command could not be created"
1919
}
2020

21-
var components = [RequestSettings.curlStartsWithDollar ? "$ curl -v" : "curl -v"]
21+
var components = [SmartNetworkSettings.curlStartsWithDollar ? "$ curl -v" : "curl -v"]
2222

2323
components.append("-X \(method)")
2424

@@ -67,7 +67,7 @@ public extension CURLConvertible {
6767
}
6868
}
6969

70-
let curlDisallowedHeaders = RequestSettings.curlDisallowedHeaders
70+
let curlDisallowedHeaders = SmartNetworkSettings.curlDisallowedHeaders
7171
for header in headers {
7272
if !curlDisallowedHeaders.contains(header.key) {
7373
let escapedValue = header.value.replacingOccurrences(of: "\"", with: "\\\"")
@@ -86,7 +86,7 @@ public extension CURLConvertible {
8686
components.append("\"\(url.absoluteString)\"")
8787

8888
var curl = components.joined(separator: " \\\n\t")
89-
if RequestSettings.curlPrettyPrinted {
89+
if SmartNetworkSettings.curlPrettyPrinted {
9090
curl += " | json_pp"
9191
}
9292
return curl

Source/Content/DataContent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Foundation
22

33
struct DataContent: Deserializable {
4-
func decode(with data: RequestResult, parameters: Parameters) -> Result<Data, Error> {
4+
func decode(with data: SmartResponse, parameters: Parameters) -> Result<Data, Error> {
55
if let error = data.error {
66
return .failure(error)
77
} else if let data = data.body {

Source/Content/DecodableContent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ struct DecodableContent<Response: Decodable>: Deserializable {
44
let decoder: JSONDecoding?
55
let keyPath: DecodableKeyPath<Response>
66

7-
func decode(with data: RequestResult, parameters: Parameters) -> Result<Response, Error> {
7+
func decode(with data: SmartResponse, parameters: Parameters) -> Result<Response, Error> {
88
if let error = data.error {
99
return .failure(error)
1010
} else if let data = data.body {

Source/Content/Deserializable.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ public protocol Deserializable<Object> {
1212
/// - decoder: *(if needed)* An autoclosure providing a ``JSONDecoder`` instance for decoding that was specified in ``Parameters``.
1313
///
1414
/// - Returns: A Result object containing the decoded object or an error.
15-
func decode(with data: RequestResult, parameters: Parameters) -> Result<Object, Error>
15+
func decode(with data: SmartResponse, parameters: Parameters) -> Result<Object, Error>
1616
}

0 commit comments

Comments
 (0)