mirror of https://github.com/oxen-io/session-ios
Implement RSS feed proxying
parent
51fb4ed21d
commit
5eca023422
@ -0,0 +1,26 @@
|
||||
import PromiseKit
|
||||
|
||||
internal enum LokiRSSFeedProxy {
|
||||
|
||||
internal enum Error : LocalizedError {
|
||||
case proxyResponseParsingFailed
|
||||
|
||||
internal var errorDescription: String? {
|
||||
switch self {
|
||||
case .proxyResponseParsingFailed: return "Couldn't parse proxy response."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static func fetchContent(for url: String) -> Promise<String> {
|
||||
let server = LokiStorageAPI.server
|
||||
let endpoints = [ "messenger-updates/feed" : "loki/v1/rss/messenger", "loki.network/feed" : "loki/v1/rss/loki" ]
|
||||
let endpoint = endpoints.first { url.lowercased().contains($0.key) }!.value
|
||||
let url = URL(string: server + "/" + endpoint)!
|
||||
let request = TSRequest(url: url)
|
||||
return LokiFileServerProxy(for: server).perform(request).map { response -> String in
|
||||
guard let json = response as? JSON, let data = json["data"] as? String else { throw Error.proxyResponseParsingFailed }
|
||||
return data
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue