@@ -51,6 +51,8 @@ public protocol ServiceClient {
51
51
func send< T: Codable > ( intoResponse: T , request: NSMutableURLRequest ) throws -> T
52
52
func sendAsync< T: Codable > ( intoResponse: T , request: NSMutableURLRequest ) async throws -> T
53
53
54
+ func postFileWithRequest< T: IReturn & Codable > ( request: T , file: UploadFile ) throws -> T . Return
55
+ func postFileWithRequestAsync< T: IReturn & Codable > ( request: T , file: UploadFile ) async throws -> T . Return
54
56
func postFileWithRequest< T: IReturn > ( _ relativeUrl: String , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) throws -> T . Return
55
57
func postFileWithRequestAsync< T: IReturn > ( _ relativeUrl: String , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) async throws -> T . Return
56
58
func postFileWithRequest< T: IReturn > ( url: URL , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) throws -> T . Return
@@ -59,6 +61,9 @@ public protocol ServiceClient {
59
61
func postFilesWithRequestAsync< T: IReturn & Codable > ( request: T , files: [ UploadFile ] ) async throws -> T . Return
60
62
func postFilesWithRequest< T: IReturn > ( url: URL , request: T , files: [ UploadFile ] ) throws -> T . Return
61
63
func postFilesWithRequestAsync< T: IReturn > ( url: URL , request: T , files: [ UploadFile ] ) async throws -> T . Return
64
+
65
+ func putFileWithRequest< T: IReturn & Codable > ( request: T , file: UploadFile ) throws -> T . Return
66
+ func putFileWithRequestAsync< T: IReturn & Codable > ( request: T , file: UploadFile ) async throws -> T . Return
62
67
func putFileWithRequest< T: IReturn > ( _ relativeUrl: String , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) throws -> T . Return
63
68
func putFileWithRequestAsync< T: IReturn > ( _ relativeUrl: String , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) async throws -> T . Return
64
69
func putFileWithRequest< T: IReturn > ( url: URL , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) throws -> T . Return
@@ -67,6 +72,7 @@ public protocol ServiceClient {
67
72
func putFilesWithRequestAsync< T: IReturn & Codable > ( request: T , files: [ UploadFile ] ) async throws -> T . Return
68
73
func putFilesWithRequest< T: IReturn > ( url: URL , request: T , files: [ UploadFile ] ) throws -> T . Return
69
74
func putFilesWithRequestAsync< T: IReturn > ( url: URL , request: T , files: [ UploadFile ] ) async throws -> T . Return
75
+
70
76
func sendFileWithRequest< T: IReturn > ( _ req: inout URLRequest , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) throws -> T . Return
71
77
func sendFileWithRequestAsync< T: IReturn > ( _ req: inout URLRequest , request: T , fileName: String , data: Data , mimeType: String ? , fieldName: String ? ) async throws -> T . Return
72
78
func sendFilesWithRequest< T: IReturn > ( _ req: inout URLRequest , request: T , files: [ UploadFile ] ) throws -> T . Return
@@ -768,6 +774,18 @@ open class JsonServiceClient : NSObject, @unchecked Sendable, ServiceClient, IHa
768
774
return try await postFileWithRequestAsync ( url: toURL ( resolveUrl ( relativeUrl) ) , request: request, fileName: fileName, data: data, mimeType: mimeType, fieldName: fieldName)
769
775
}
770
776
777
+ open func postFileWithRequest< T: IReturn & Codable > ( request: T , file: UploadFile ) throws -> T . Return {
778
+ var req = URLRequest ( url: createUrl ( dto: request) )
779
+ req. httpMethod = HttpMethods . Post
780
+ return try sendFilesWithRequest ( & req, request: request, files: [ file] )
781
+ }
782
+
783
+ open func postFileWithRequestAsync< T: IReturn & Codable > ( request: T , file: UploadFile ) async throws -> T . Return {
784
+ var req = URLRequest ( url: createUrl ( dto: request) )
785
+ req. httpMethod = HttpMethods . Post
786
+ return try await sendFilesWithRequestAsync ( & req, request: request, files: [ file] )
787
+ }
788
+
771
789
open func postFileWithRequest< T: IReturn > ( url: URL , request: T , fileName: String , data: Data , mimeType: String ? = nil , fieldName: String ? = " file " ) throws -> T . Return {
772
790
var req = URLRequest ( url: url)
773
791
req. httpMethod = HttpMethods . Post
@@ -812,6 +830,18 @@ open class JsonServiceClient : NSObject, @unchecked Sendable, ServiceClient, IHa
812
830
return try await putFileWithRequestAsync ( url: toURL ( resolveUrl ( relativeUrl) ) , request: request, fileName: fileName, data: data, mimeType: mimeType, fieldName: fieldName)
813
831
}
814
832
833
+ open func putFileWithRequest< T: IReturn & Codable > ( request: T , file: UploadFile ) throws -> T . Return {
834
+ var req = URLRequest ( url: createUrl ( dto: request) )
835
+ req. httpMethod = HttpMethods . Put
836
+ return try sendFilesWithRequest ( & req, request: request, files: [ file] )
837
+ }
838
+
839
+ open func putFileWithRequestAsync< T: IReturn & Codable > ( request: T , file: UploadFile ) async throws -> T . Return {
840
+ var req = URLRequest ( url: createUrl ( dto: request) )
841
+ req. httpMethod = HttpMethods . Put
842
+ return try await sendFilesWithRequestAsync ( & req, request: request, files: [ file] )
843
+ }
844
+
815
845
open func putFileWithRequest< T: IReturn > ( url: URL , request: T , fileName: String , data: Data , mimeType: String ? = nil , fieldName: String ? = " file " ) throws -> T . Return {
816
846
var req = URLRequest ( url: url)
817
847
req. httpMethod = HttpMethods . Put
0 commit comments