@@ -20,6 +20,9 @@ import SwiftUI // Needed for ToastManager
20
20
struct DFAPI {
21
21
private static let API_PATH = " /api/ "
22
22
23
+ // Custom User Agent for API requests
24
+ private static let customUserAgent = " DjangoFiles iOS \( Bundle . main. infoDictionary ? [ " CFBundleShortVersionString " ] as? String ?? " Unknown " ) ( \( Bundle . main. infoDictionary ? [ " CFBundleVersion " ] as? String ?? " - " ) ) "
25
+
23
26
// Add a shared WebSocket instance
24
27
internal static var sharedWebSocket : DFWebSocket ?
25
28
@@ -88,6 +91,7 @@ struct DFAPI {
88
91
var request = HTTPRequest ( method: method, url: encodeParametersIntoURL ( path: path, parameters: parameters) )
89
92
request. headerFields [ . authorization] = token
90
93
request. headerFields [ . referer] = url. absoluteString
94
+ request. headerFields [ . userAgent] = DFAPI . customUserAgent
91
95
for kvp in headerFields {
92
96
request. headerFields [ kvp. key] = kvp. value
93
97
}
@@ -107,6 +111,7 @@ struct DFAPI {
107
111
var request = HTTPRequest ( method: method, url: encodeParametersIntoURL ( path: path, parameters: parameters) )
108
112
request. headerFields [ . referer] = url. absoluteString
109
113
request. headerFields [ . authorization] = self . token
114
+ request. headerFields [ . userAgent] = DFAPI . customUserAgent
110
115
for kvp in headerFields {
111
116
request. headerFields [ kvp. key] = kvp. value
112
117
}
@@ -126,6 +131,7 @@ struct DFAPI {
126
131
var request = HTTPRequest ( method: method, url: encodeParametersIntoURL ( path: path, parameters: parameters) )
127
132
request. headerFields [ . referer] = url. absoluteString
128
133
request. headerFields [ . authorization] = self . token
134
+ request. headerFields [ . userAgent] = DFAPI . customUserAgent
129
135
for kvp in headerFields {
130
136
request. headerFields [ kvp. key] = kvp. value
131
137
}
@@ -248,6 +254,7 @@ struct DFAPI {
248
254
var urlRequest = URLRequest ( url: encodeParametersIntoURL ( path: getAPIPath ( . login) , parameters: [ : ] ) )
249
255
urlRequest. httpMethod = " POST "
250
256
urlRequest. setValue ( " application/json " , forHTTPHeaderField: " Content-Type " )
257
+ urlRequest. setValue ( DFAPI . customUserAgent, forHTTPHeaderField: " User-Agent " )
251
258
urlRequest. httpBody = json
252
259
253
260
// Use default session configuration which persists cookies
@@ -286,6 +293,7 @@ struct DFAPI {
286
293
var urlRequest = URLRequest ( url: encodeParametersIntoURL ( path: getAPIPath ( . login) , parameters: [ : ] ) )
287
294
urlRequest. httpMethod = " POST "
288
295
urlRequest. setValue ( " application/json " , forHTTPHeaderField: " Content-Type " )
296
+ urlRequest. setValue ( DFAPI . customUserAgent, forHTTPHeaderField: " User-Agent " )
289
297
urlRequest. httpBody = json
290
298
291
299
if let url = urlRequest. url {
@@ -338,6 +346,7 @@ struct DFAPI {
338
346
var request = HTTPRequest ( method: . get, url: targetURL)
339
347
request. headerFields [ . authorization] = self . token
340
348
request. headerFields [ . referer] = self . url. absoluteString
349
+ request. headerFields [ . userAgent] = DFAPI . customUserAgent
341
350
342
351
let configuration = URLSessionConfiguration . ephemeral
343
352
let delegate = RedirectDelegate ( )
@@ -379,6 +388,7 @@ struct DFAPI {
379
388
var urlRequest = URLRequest ( url: encodeParametersIntoURL ( path: getAPIPath ( . auth_application) , parameters: [ : ] ) )
380
389
urlRequest. httpMethod = " POST "
381
390
urlRequest. setValue ( " application/json " , forHTTPHeaderField: " Content-Type " )
391
+ urlRequest. setValue ( DFAPI . customUserAgent, forHTTPHeaderField: " User-Agent " )
382
392
urlRequest. httpBody = json
383
393
384
394
// Use default session configuration which persists cookies
0 commit comments