Skip to content

Commit df8b647

Browse files
committed
Updated implementation of URL Image
1 parent f642adf commit df8b647

File tree

1 file changed

+11
-38
lines changed

1 file changed

+11
-38
lines changed

Sources/ImageViewerRemote/ImageViewerRemote.swift

+11-38
Original file line numberDiff line numberDiff line change
@@ -17,34 +17,21 @@ public struct ImageViewerRemote: View {
1717

1818
@ObservedObject var loader: ImageLoader
1919

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) {
2121
_imageURL = imageURL
2222
_viewerShown = viewerShown
23-
_httpHeaders = State(initialValue: httpHeaders)
2423
_disableCache = State(initialValue: disableCache)
2524
self.aspectRatio = aspectRatio
2625

27-
loader = ImageLoader(url: imageURL, httpHeaders: httpHeaders)
26+
loader = ImageLoader(url: imageURL)
2827
}
2928

30-
func getURLRequest(url: String, headers: [String: String]?) -> URLRequest {
29+
func getURLRequest(url: String) -> URLRequest {
3130
let url = URL(string: url)!
3231
var request = URLRequest(url: url)
3332
request.httpMethod = "GET"
3433

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;
4835
}
4936

5037
@ViewBuilder
@@ -70,8 +57,8 @@ public struct ImageViewerRemote: View {
7057

7158
VStack {
7259
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
7562
.resizable()
7663
.aspectRatio(self.aspectRatio?.wrappedValue, contentMode: .fit)
7764
.offset(x: self.dragOffset.width, y: self.dragOffset.height)
@@ -90,7 +77,7 @@ public struct ImageViewerRemote: View {
9077
self.dragOffset = .zero
9178
}
9279
)
93-
}
80+
})
9481
}
9582
else {
9683
if loader.image != nil {
@@ -294,32 +281,18 @@ extension View {
294281
class ImageLoader: ObservableObject {
295282
@Published var image: UIImage?
296283
private let url: Binding<String>
297-
private let headers: [String: String]?
298284
private var cancellable: AnyCancellable?
299285

300-
func getURLRequest(url: String, headers: [String: String]?) -> URLRequest {
286+
func getURLRequest(url: String) -> URLRequest {
301287
let url = URL(string: url)!
302288
var request = URLRequest(url: url)
303289
request.httpMethod = "GET"
304290

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;
318292
}
319293

320-
init(url: Binding<String>, httpHeaders: [String: String]?) {
294+
init(url: Binding<String>) {
321295
self.url = url
322-
self.headers = httpHeaders
323296

324297
load()
325298
}
@@ -329,7 +302,7 @@ class ImageLoader: ObservableObject {
329302
}
330303

331304
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))
333306
.map { UIImage(data: $0.data) }
334307
.replaceError(with: nil)
335308
.receive(on: DispatchQueue.main)

0 commit comments

Comments
 (0)