Swiftgram/TelegramCore/FetchHttpResource.swift
2016-11-22 21:33:06 +03:00

30 lines
846 B
Swift

import Foundation
#if os(macOS)
import PostboxMac
import SwiftSignalKitMac
import MtProtoKitMac
#else
import Postbox
import SwiftSignalKit
import MtProtoKitDynamic
#endif
func fetchHttpResource(url: String) -> Signal<MediaResourceDataFetchResult, NoError> {
if let url = URL(string: url) {
let signal = MTHttpRequestOperation.data(forHttpUrl: url)!
return Signal { subscriber in
let disposable = signal.start(next: { next in
let fetchResult = MediaResourceDataFetchResult(data: next as! Data, complete: true)
subscriber.putNext(fetchResult)
subscriber.putCompletion()
})
return ActionDisposable {
disposable?.dispose()
}
}
} else {
return .never()
}
}