[swift6] Change Response to struct (#20185)

This commit is contained in:
Lennard Sprong 2024-11-26 09:30:50 +01:00 committed by GitHub
parent af89ed8043
commit 55f02e995b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 43 additions and 29 deletions

View File

@ -90,7 +90,7 @@ extension NullEncodable: Codable where Wrapped: Codable {
case generalError(Error) case generalError(Error)
} }
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class Response<T> { {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} struct Response<T> {
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let statusCode: Int {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let statusCode: Int
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let header: [String: String] {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let header: [String: String]
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let body: T {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} let body: T
@ -103,7 +103,7 @@ extension NullEncodable: Codable where Wrapped: Codable {
self.bodyData = bodyData self.bodyData = bodyData
} }
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,7 +113,8 @@ extension NullEncodable: Codable where Wrapped: Codable {
} }
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
}{{#useAlamofire}} }
extension Response : Sendable where T : Sendable {}{{#useAlamofire}}
/// Type-erased ResponseSerializer /// Type-erased ResponseSerializer
/// ///

View File

@ -90,7 +90,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -103,7 +103,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -114,6 +114,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
/// Type-erased ResponseSerializer /// Type-erased ResponseSerializer
/// ///

View File

@ -90,7 +90,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -103,7 +103,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -114,6 +114,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
/// Type-erased ResponseSerializer /// Type-erased ResponseSerializer
/// ///

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ internal enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
internal class Response<T> { internal struct Response<T> {
internal let statusCode: Int internal let statusCode: Int
internal let header: [String: String] internal let header: [String: String]
internal let body: T internal let body: T
@ -102,7 +102,7 @@ internal class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
internal convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { internal init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ internal class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
internal final class RequestTask: @unchecked Sendable { internal final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()

View File

@ -89,7 +89,7 @@ public enum DecodableRequestBuilderError: Error {
case generalError(Error) case generalError(Error)
} }
open class Response<T> { public struct Response<T> {
public let statusCode: Int public let statusCode: Int
public let header: [String: String] public let header: [String: String]
public let body: T public let body: T
@ -102,7 +102,7 @@ open class Response<T> {
self.bodyData = bodyData self.bodyData = bodyData
} }
public convenience init(response: HTTPURLResponse, body: T, bodyData: Data?) { public init(response: HTTPURLResponse, body: T, bodyData: Data?) {
let rawHeader = response.allHeaderFields let rawHeader = response.allHeaderFields
var responseHeader = [String: String]() var responseHeader = [String: String]()
for (key, value) in rawHeader { for (key, value) in rawHeader {
@ -113,6 +113,7 @@ open class Response<T> {
self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData) self.init(statusCode: response.statusCode, header: responseHeader, body: body, bodyData: bodyData)
} }
} }
extension Response : Sendable where T : Sendable {}
public final class RequestTask: @unchecked Sendable { public final class RequestTask: @unchecked Sendable {
private let lock = NSRecursiveLock() private let lock = NSRecursiveLock()