mirror of
https://github.com/cranci1/Sora.git
synced 2026-01-11 20:10:24 +00:00
Merge branch 'cranci1:dev' into dev
This commit is contained in:
commit
4faf774b5e
3 changed files with 3 additions and 23 deletions
|
|
@ -134,8 +134,6 @@ extension JSContext {
|
|||
var request = URLRequest(url: url)
|
||||
request.httpMethod = httpMethod
|
||||
|
||||
Logger.shared.log("FetchV2 Request: URL=\(url), Method=\(httpMethod), Body=\(body ?? "nil"), Encoding=\(encoding ?? "utf-8")", type: "Debug")
|
||||
|
||||
func getEncoding(from encodingString: String?) -> String.Encoding {
|
||||
guard let encodingString = encodingString?.lowercased() else {
|
||||
return .utf8
|
||||
|
|
@ -187,7 +185,6 @@ extension JSContext {
|
|||
}
|
||||
}
|
||||
|
||||
Logger.shared.log("Redirect value is \(redirect.boolValue)", type: "Debug")
|
||||
let session = URLSession.fetchData(allowRedirects: redirect.boolValue)
|
||||
|
||||
let task = session.downloadTask(with: request) { tempFileURL, response, error in
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ class FetchDelegate: NSObject, URLSessionTaskDelegate {
|
|||
init(allowRedirects: Bool) {
|
||||
self.allowRedirects = allowRedirects
|
||||
}
|
||||
deinit { Logger.shared.log("FetchDelegate deallocated", type: "Debug")
|
||||
}
|
||||
|
||||
func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) {
|
||||
if(allowRedirects) {
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ extension JSController {
|
|||
airdate: item["airdate"] as? String ?? ""
|
||||
)
|
||||
}
|
||||
Logger.shared.log("Successfully extracted \(resultItems.count) details", type: "Info")
|
||||
} else {
|
||||
Logger.shared.log("Failed to parse JSON of extractDetails", type: "Error")
|
||||
}
|
||||
|
|
@ -161,27 +162,12 @@ extension JSController {
|
|||
promiseDetails.invokeMethod("catch", withArguments: [catchFunctionDetails as Any])
|
||||
|
||||
dispatchGroup.enter()
|
||||
let promiseValueEpisodes = extractEpisodesFunction.call(withArguments: [url.absoluteString])
|
||||
|
||||
var hasLeftEpisodesGroup = false
|
||||
let episodesGroupQueue = DispatchQueue(label: "episodes.group")
|
||||
|
||||
let timeoutWorkItem = DispatchWorkItem {
|
||||
Logger.shared.log("Timeout for extractEpisodes", type: "Warning")
|
||||
episodesGroupQueue.sync {
|
||||
guard !hasLeftEpisodesGroup else {
|
||||
Logger.shared.log("extractEpisodes: timeout called but group already left", type: "Debug")
|
||||
return
|
||||
}
|
||||
hasLeftEpisodesGroup = true
|
||||
dispatchGroup.leave()
|
||||
}
|
||||
}
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 5.0, execute: timeoutWorkItem)
|
||||
|
||||
let promiseValueEpisodes = extractEpisodesFunction.call(withArguments: [url.absoluteString])
|
||||
guard let promiseEpisodes = promiseValueEpisodes else {
|
||||
Logger.shared.log("extractEpisodes did not return a Promise", type: "Error")
|
||||
timeoutWorkItem.cancel()
|
||||
episodesGroupQueue.sync {
|
||||
guard !hasLeftEpisodesGroup else { return }
|
||||
hasLeftEpisodesGroup = true
|
||||
|
|
@ -192,7 +178,6 @@ extension JSController {
|
|||
}
|
||||
|
||||
let thenBlockEpisodes: @convention(block) (JSValue) -> Void = { result in
|
||||
timeoutWorkItem.cancel()
|
||||
episodesGroupQueue.sync {
|
||||
guard !hasLeftEpisodesGroup else {
|
||||
Logger.shared.log("extractEpisodes: thenBlock called but group already left", type: "Debug")
|
||||
|
|
@ -212,6 +197,7 @@ extension JSController {
|
|||
duration: nil
|
||||
)
|
||||
}
|
||||
Logger.shared.log("Successfully extracted \(episodeLinks.count) episodes", type: "Info")
|
||||
} else {
|
||||
Logger.shared.log("Failed to parse JSON of extractEpisodes", type: "Error")
|
||||
}
|
||||
|
|
@ -226,7 +212,6 @@ extension JSController {
|
|||
}
|
||||
|
||||
let catchBlockEpisodes: @convention(block) (JSValue) -> Void = { error in
|
||||
timeoutWorkItem.cancel()
|
||||
episodesGroupQueue.sync {
|
||||
guard !hasLeftEpisodesGroup else {
|
||||
Logger.shared.log("extractEpisodes: catchBlock called but group already left", type: "Debug")
|
||||
|
|
|
|||
Loading…
Reference in a new issue