Make url parsing work better and request raw json.

This commit is contained in:
Maurice Parker 2020-05-04 08:35:14 -05:00
parent 10b24d92c5
commit d3d246f8cb

View File

@ -91,17 +91,21 @@ public final class RedditFeedProvider: FeedProvider {
completion(.success(name)) completion(.success(name))
return return
} }
// TODO: call to get the Subreddit name var name = String(path.suffix(from: path.index(after: path.startIndex)))
completion(.success(path)) if name.last == "/" {
_ = name.popLast()
}
completion(.success(name))
} }
public func refresh(_ webFeed: WebFeed, completion: @escaping (Result<Set<ParsedItem>, Error>) -> Void) { public func refresh(_ webFeed: WebFeed, completion: @escaping (Result<Set<ParsedItem>, Error>) -> Void) {
// guard let urlComponents = URLComponents(string: webFeed.url) else { guard let urlComponents = URLComponents(string: webFeed.url) else {
// completion(.failure(TwitterFeedProviderError.unknown)) completion(.failure(TwitterFeedProviderError.unknown))
// return return
// } }
let api = "/r/sphynx/hot.json" let api = urlComponents.path
retrieveListing(api: api, parameters: [:]) { result in retrieveListing(api: api, parameters: [:]) { result in
completion(.success(Set<ParsedItem>())) completion(.success(Set<ParsedItem>()))
} }
@ -196,9 +200,12 @@ private extension RedditFeedProvider {
return return
} }
let url = "\(Self.apiBase)\(api)" let url = "\(Self.apiBase)\(api).json"
client.get(url, parameters: parameters, headers: Self.userAgentHeaders) { result in var expandedParameters = parameters
expandedParameters["raw_json"] = "1"
client.get(url, parameters: expandedParameters, headers: Self.userAgentHeaders) { result in
switch result { switch result {
case .success(let response): case .success(let response):