@@ -17,34 +17,21 @@ public struct ImageViewerRemote: View {
17
17
18
18
@ObservedObject var loader : ImageLoader
19
19
20
- public init ( imageURL: Binding < String > , viewerShown: Binding < Bool > , httpHeaders : [ String : String ] ? = nil , aspectRatio: Binding < CGFloat > ? = nil , disableCache: Bool ? = nil ) {
20
+ public init ( imageURL: Binding < String > , viewerShown: Binding < Bool > , aspectRatio: Binding < CGFloat > ? = nil , disableCache: Bool ? = nil ) {
21
21
_imageURL = imageURL
22
22
_viewerShown = viewerShown
23
- _httpHeaders = State ( initialValue: httpHeaders)
24
23
_disableCache = State ( initialValue: disableCache)
25
24
self . aspectRatio = aspectRatio
26
25
27
- loader = ImageLoader ( url: imageURL, httpHeaders : httpHeaders )
26
+ loader = ImageLoader ( url: imageURL)
28
27
}
29
28
30
- func getURLRequest( url: String , headers : [ String : String ] ? ) -> URLRequest {
29
+ func getURLRequest( url: String ) -> URLRequest {
31
30
let url = URL ( string: url) !
32
31
var request = URLRequest ( url: url)
33
32
request. httpMethod = " GET "
34
33
35
- if ( headers != nil ) {
36
- for (key, value) in headers! {
37
- print ( " adding header: \( key) : \( value) " )
38
- request. addValue ( " \( value) " , forHTTPHeaderField: " \( key) " )
39
- }
40
-
41
- print ( " headers found, requesting URL image with headers: \( request. allHTTPHeaderFields) " )
42
- return request;
43
- }
44
- else {
45
- print ( " headers nil, requesting URL image with request: \( request) " )
46
- return request;
47
- }
34
+ return request;
48
35
}
49
36
50
37
@ViewBuilder
@@ -70,8 +57,8 @@ public struct ImageViewerRemote: View {
70
57
71
58
VStack {
72
59
if ( self . disableCache == nil || self . disableCache == false ) {
73
- URLImage ( getURLRequest ( url: self . imageURL, headers : self . httpHeaders ) ) { proxy in
74
- proxy . image
60
+ URLImage ( url: URL ( string : self . imageURL) ! , content : { image in
61
+ image
75
62
. resizable ( )
76
63
. aspectRatio ( self . aspectRatio? . wrappedValue, contentMode: . fit)
77
64
. offset ( x: self . dragOffset. width, y: self . dragOffset. height)
@@ -90,7 +77,7 @@ public struct ImageViewerRemote: View {
90
77
self . dragOffset = . zero
91
78
}
92
79
)
93
- }
80
+ } )
94
81
}
95
82
else {
96
83
if loader. image != nil {
@@ -294,32 +281,18 @@ extension View {
294
281
class ImageLoader : ObservableObject {
295
282
@Published var image : UIImage ?
296
283
private let url : Binding < String >
297
- private let headers : [ String : String ] ?
298
284
private var cancellable : AnyCancellable ?
299
285
300
- func getURLRequest( url: String , headers : [ String : String ] ? ) -> URLRequest {
286
+ func getURLRequest( url: String ) -> URLRequest {
301
287
let url = URL ( string: url) !
302
288
var request = URLRequest ( url: url)
303
289
request. httpMethod = " GET "
304
290
305
- if ( headers != nil ) {
306
- for (key, value) in headers! {
307
- print ( " adding header: \( key) : \( value) " )
308
- request. addValue ( " \( value) " , forHTTPHeaderField: " \( key) " )
309
- }
310
-
311
- print ( " headers found, requesting URL image with headers: \( request. allHTTPHeaderFields) " )
312
- return request;
313
- }
314
- else {
315
- print ( " headers nil, requesting URL image with request: \( request) " )
316
- return request;
317
- }
291
+ return request;
318
292
}
319
293
320
- init ( url: Binding < String > , httpHeaders : [ String : String ] ? ) {
294
+ init ( url: Binding < String > ) {
321
295
self . url = url
322
- self . headers = httpHeaders
323
296
324
297
load ( )
325
298
}
@@ -329,7 +302,7 @@ class ImageLoader: ObservableObject {
329
302
}
330
303
331
304
func load( ) {
332
- cancellable = URLSession . shared. dataTaskPublisher ( for: getURLRequest ( url: self . url. wrappedValue, headers : self . headers ) )
305
+ cancellable = URLSession . shared. dataTaskPublisher ( for: getURLRequest ( url: self . url. wrappedValue) )
333
306
. map { UIImage ( data: $0. data) }
334
307
. replaceError ( with: nil )
335
308
. receive ( on: DispatchQueue . main)
0 commit comments