@@ -66,12 +66,57 @@ pod "ServiceStack", '~> 6.0.2'
6666github " ServiceStack/ServiceStack.Swift" ~ > 6.0 .2
6767```
6868
69- ### v6.0.1 Release
69+ ## API
7070
71- Added new sync and async file upload with Request APIs for POST and PUT HTTP Requests:
7271
7372``` swift
74- protocol ServiceClient {
73+ public protocol ServiceClient {
74+ func get <T : IReturn >(_ request : T) throws -> T.Return where T: Codable
75+ func get <T : IReturnVoid >(_ request : T) throws -> Void where T: Codable
76+ func get <T : IReturn >(_ request : T, query : [String : String ]) throws -> T.Return where T: Codable
77+ func get <T : Codable >(_ relativeUrl : String ) throws -> T
78+ func getAsync <T : IReturn >(_ request : T) async throws -> T.Return where T: Codable
79+ func getAsync <T : IReturnVoid >(_ request : T) async throws -> Void where T: Codable
80+ func getAsync <T : IReturn >(_ request : T, query : [String : String ]) async throws -> T.Return where T: Codable
81+ func getAsync <T : Codable >(_ relativeUrl : String ) async throws -> T
82+
83+ func post <T : IReturn >(_ request : T) throws -> T.Return where T: Codable
84+ func post <T : IReturnVoid >(_ request : T) throws -> Void where T: Codable
85+ func post <Response : Codable , Request : Codable >(_ relativeUrl : String , request : Request? ) throws -> Response
86+ func postAsync <T : IReturn >(_ request : T) async throws -> T.Return where T: Codable
87+ func postAsync <T : IReturnVoid >(_ request : T) async throws -> Void where T: Codable
88+ func postAsync <Response : Codable , Request : Codable >(_ relativeUrl : String , request : Request? ) async throws -> Response
89+
90+ func put <T : IReturn >(_ request : T) throws -> T.Return where T: Codable
91+ func put <T : IReturnVoid >(_ request : T) throws -> Void where T: Codable
92+ func put <Response : Codable , Request : Codable >(_ relativeUrl : String , request : Request? ) throws -> Response
93+ func putAsync <T : IReturn >(_ request : T) async throws -> T.Return where T: Codable
94+ func putAsync <T : IReturnVoid >(_ request : T) async throws -> Void where T: Codable
95+ func putAsync <Response : Codable , Request : Codable >(_ relativeUrl : String , request : Request? ) async throws -> Response
96+
97+ func delete <T : IReturn >(_ request : T) throws -> T.Return where T: Codable
98+ func delete <T : IReturnVoid >(_ request : T) throws -> Void where T: Codable
99+ func delete <T : IReturn >(_ request : T, query : [String : String ]) throws -> T.Return where T: Codable
100+ func delete <T : Codable >(_ relativeUrl : String ) throws -> T
101+ func deleteAsync <T : IReturn >(_ request : T) async throws -> T.Return where T: Codable
102+ func deleteAsync <T : IReturnVoid >(_ request : T) async throws -> Void where T: Codable
103+ func deleteAsync <T : IReturn >(_ request : T, query : [String : String ]) async throws -> T.Return where T: Codable
104+ func deleteAsync <T : Codable >(_ relativeUrl : String ) async throws -> T
105+
106+ func patch <T : IReturn >(_ request : T) throws -> T.Return where T: Codable
107+ func patch <T : IReturnVoid >(_ request : T) throws -> Void where T: Codable
108+ func patch <Response : Codable , Request : Codable >(_ relativeUrl : String , request : Request? ) throws -> Response
109+ func patchAsync <T : IReturn >(_ request : T) async throws -> T.Return where T: Codable
110+ func patchAsync <T : IReturnVoid >(_ request : T) async throws -> Void where T: Codable
111+ func patchAsync <Response : Codable , Request : Codable >(_ relativeUrl : String , request : Request? ) async throws -> Response
112+
113+ func send <T : IReturn >(_ request : T) throws -> T.Return where T: Codable
114+ func send <T : IReturnVoid >(_ request : T) throws -> Void where T: Codable
115+ func send <T : Codable >(intoResponse : T, request : URLRequest) throws -> T
116+ func sendAsync <T : Codable >(intoResponse : T, request : URLRequest) async throws -> T
117+
118+ func postFileWithRequest <T : IReturn & Codable >(request :T, file :UploadFile) throws -> T.Return
119+ func postFileWithRequestAsync <T : IReturn & Codable >(request :T, file :UploadFile) async throws -> T.Return
75120 func postFileWithRequest <T : IReturn >(_ relativeUrl : String , request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) throws -> T.Return
76121 func postFileWithRequestAsync <T : IReturn >(_ relativeUrl : String , request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) async throws -> T.Return
77122 func postFileWithRequest <T : IReturn >(url :URL, request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) throws -> T.Return
@@ -80,6 +125,9 @@ protocol ServiceClient {
80125 func postFilesWithRequestAsync <T : IReturn & Codable >(request :T, files :[UploadFile]) async throws -> T.Return
81126 func postFilesWithRequest <T : IReturn >(url :URL, request :T, files :[UploadFile]) throws -> T.Return
82127 func postFilesWithRequestAsync <T : IReturn >(url :URL, request :T, files :[UploadFile]) async throws -> T.Return
128+
129+ func putFileWithRequest <T : IReturn & Codable >(request :T, file :UploadFile) throws -> T.Return
130+ func putFileWithRequestAsync <T : IReturn & Codable >(request :T, file :UploadFile) async throws -> T.Return
83131 func putFileWithRequest <T : IReturn >(_ relativeUrl : String , request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) throws -> T.Return
84132 func putFileWithRequestAsync <T : IReturn >(_ relativeUrl : String , request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) async throws -> T.Return
85133 func putFileWithRequest <T : IReturn >(url :URL, request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) throws -> T.Return
@@ -88,13 +136,32 @@ protocol ServiceClient {
88136 func putFilesWithRequestAsync <T : IReturn & Codable >(request :T, files :[UploadFile]) async throws -> T.Return
89137 func putFilesWithRequest <T : IReturn >(url :URL, request :T, files :[UploadFile]) throws -> T.Return
90138 func putFilesWithRequestAsync <T : IReturn >(url :URL, request :T, files :[UploadFile]) async throws -> T.Return
139+
91140 func sendFileWithRequest <T : IReturn >(_ req :inout URLRequest, request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) throws -> T.Return
92141 func sendFileWithRequestAsync <T : IReturn >(_ req :inout URLRequest, request :T, fileName :String , data :Data, mimeType :String ? , fieldName :String ? ) async throws -> T.Return
93142 func sendFilesWithRequest <T : IReturn >(_ req :inout URLRequest, request :T, files :[UploadFile]) throws -> T.Return
94143 func sendFilesWithRequestAsync <T : IReturn >(_ req :inout URLRequest, request :T, files :[UploadFile]) async throws -> T.Return
144+
145+ func getData (url : String ) throws -> (Data, HTTPURLResponse)?
146+ func getDataAsync (url : String ) async throws -> (Data, HTTPURLResponse)?
147+ func getData (request : URLRequest, retryIf :((HTTPURLResponse) -> Bool )? ) throws -> (Data, HTTPURLResponse)?
148+ func getDataAsync (request : URLRequest, retryIf :((HTTPURLResponse) async throws -> Bool )? ) async throws -> (Data, HTTPURLResponse)?
149+
150+ func getCookies () -> [String :String ]
151+ func getTokenCookie () -> String ?
152+ func getRefreshTokenCookie () -> String ?
95153}
96154```
97155
156+ ### v6.0.5 Release
157+
158+ - Replaced PromiseKit with Swift Concurrency's async/await
159+ - Added new ` postFileWithRequest ` and ` postFilesWithRequest ` sync and async APIs
160+
161+ ### v6.0.1 Release
162+
163+ Added new sync and async file upload with Request APIs for POST and PUT HTTP Requests:
164+
98165### v6.0.0 Release
99166
100167The latest ** v6** Release is now dependency-free, where its PromiseKit async APIs have been replaced to use
0 commit comments