Skip to content

Commit 627c7f7

Browse files
committed
No /tmp file created for data task
1 parent e5f8778 commit 627c7f7

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

Foundation/URLSession/http/HTTPURLProtocol.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,21 @@ import Dispatch
1313
internal class _HTTPURLProtocol: URLProtocol {
1414

1515
fileprivate var easyHandle: _EasyHandle!
16-
fileprivate var tempFileURL: URL
16+
fileprivate lazy var tempFileURL: URL = {
17+
let fileName = NSTemporaryDirectory() + NSUUID().uuidString + ".tmp"
18+
_ = FileManager.default.createFile(atPath: fileName, contents: nil)
19+
return URL(fileURLWithPath: fileName)
20+
}()
1721

1822
public required init(task: URLSessionTask, cachedResponse: CachedURLResponse?, client: URLProtocolClient?) {
1923
self.internalState = _InternalState.initial
20-
let fileName = NSTemporaryDirectory() + NSUUID().uuidString + ".tmp"
21-
_ = FileManager.default.createFile(atPath: fileName, contents: nil)
22-
self.tempFileURL = URL(fileURLWithPath: fileName)
2324
super.init(request: task.originalRequest!, cachedResponse: cachedResponse, client: client)
2425
self.task = task
2526
self.easyHandle = _EasyHandle(delegate: self)
2627
}
2728

2829
public required init(request: URLRequest, cachedResponse: CachedURLResponse?, client: URLProtocolClient?) {
2930
self.internalState = _InternalState.initial
30-
let fileName = NSTemporaryDirectory() + NSUUID().uuidString + ".tmp"
31-
_ = FileManager.default.createFile(atPath: fileName, contents: nil)
32-
self.tempFileURL = URL(fileURLWithPath: fileName)
3331
super.init(request: request, cachedResponse: cachedResponse, client: client)
3432
self.easyHandle = _EasyHandle(delegate: self)
3533
}

0 commit comments

Comments
 (0)