@@ -25,15 +25,10 @@ interface ILfsNetworkDataSource {
25
25
suspend fun postBatchObjects (
26
26
remoteUrl : String ,
27
27
lfsPrepareUploadObjectBatch : LfsPrepareUploadObjectBatch ,
28
- onCreateHeaders : HttpRequestBuilder .() -> Unit ,
29
- ): Result <LfsObjects , LfsError >
30
-
31
- suspend fun uploadBatchObjects (
32
- remoteUrl : String ,
33
- lfsPrepareUploadObjectBatch : LfsPrepareUploadObjectBatch ,
28
+ objHeaders : Map <String , String >,
34
29
username : String? ,
35
30
password : String? ,
36
- )
31
+ ): Result < LfsObjects , LfsError >
37
32
38
33
suspend fun uploadObject (
39
34
uploadUrl : String ,
@@ -71,15 +66,28 @@ class LfsNetworkDataSource @Inject constructor(
71
66
override suspend fun postBatchObjects (
72
67
remoteUrl : String ,
73
68
lfsPrepareUploadObjectBatch : LfsPrepareUploadObjectBatch ,
74
- onCreateHeaders : HttpRequestBuilder .() -> Unit ,
69
+ objHeaders : Map <String , String >,
70
+ username : String? ,
71
+ password : String? ,
75
72
): Result <LfsObjects , LfsError > {
76
73
val response = client.post(" ${remoteUrl.removeSuffix(" /" )} /objects/batch" ) {
74
+ for (header in objHeaders) {
75
+ header(header.key, header.value)
76
+ }
77
+
77
78
this .headers {
78
- this [" Accept" ] = " application/vnd.git-lfs+json"
79
- this [" Content-Type" ] = " application/vnd.git-lfs+json"
79
+ if (username != null && password != null && ! headers.contains(NetworkConstants .AUTH_HEADER )) {
80
+ basicAuth(username, password)
81
+ }
82
+
83
+ if (! this .contains(NetworkConstants .ACCEPT_HEADER )) {
84
+ this [NetworkConstants .ACCEPT_HEADER ] = " application/vnd.git-lfs"
85
+ }
80
86
}
81
87
82
- onCreateHeaders()
88
+ this .headers {
89
+ contentType(ContentType (" application" , " vnd.git-lfs+json" ))
90
+ }
83
91
84
92
setBody(json.encodeToString(lfsPrepareUploadObjectBatch))
85
93
}
@@ -91,31 +99,6 @@ class LfsNetworkDataSource @Inject constructor(
91
99
return Result .Ok (json.decodeFromString(response.bodyAsText()))
92
100
}
93
101
94
- override suspend fun uploadBatchObjects (
95
- remoteUrl : String ,
96
- lfsPrepareUploadObjectBatch : LfsPrepareUploadObjectBatch ,
97
- username : String? ,
98
- password : String? ,
99
- ) {
100
- val response = client.post(" $remoteUrl /objects/batch" ) {
101
- if (username != null && password != null ) {
102
- basicAuth(username, password)
103
- }
104
-
105
- this .headers {
106
- this [" Accept" ] = " application/vnd.git-lfs+json"
107
- this [" Content-Type" ] = " application/vnd.git-lfs+json"
108
- }
109
-
110
-
111
- this .setBody(json.encodeToString(lfsPrepareUploadObjectBatch))
112
- }
113
-
114
- if (response.status.value != 200 ) {
115
- throw Exception (" Code is ${response.status.value} ..." )
116
- }
117
- }
118
-
119
102
override suspend fun uploadObject (
120
103
uploadUrl : String ,
121
104
oid : String ,
@@ -175,7 +158,7 @@ class LfsNetworkDataSource @Inject constructor(
175
158
}
176
159
177
160
if (! this .contains(NetworkConstants .ACCEPT_HEADER )) {
178
- this [" Accept " ] = " application/vnd.git-lfs"
161
+ this [NetworkConstants . ACCEPT_HEADER ] = " application/vnd.git-lfs"
179
162
}
180
163
}
181
164
@@ -207,8 +190,8 @@ class LfsNetworkDataSource @Inject constructor(
207
190
basicAuth(username, password)
208
191
}
209
192
210
- if (! this .contains(" Accept " )) {
211
- this [" Accept " ] = " application/vnd.git-lfs"
193
+ if (! this .contains(NetworkConstants . ACCEPT_HEADER )) {
194
+ this [NetworkConstants . ACCEPT_HEADER ] = " application/vnd.git-lfs"
212
195
}
213
196
}
214
197
}
0 commit comments