mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2025-02-03 12:27:32 +01:00
use transport.send(request, resultType, completion)
This commit is contained in:
parent
e4cce9f7f2
commit
e867991ec8
@ -7,6 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3B826D6923859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B826D6823859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift */; };
|
||||
3BF610C723571CD4000EF978 /* FeedWranglerAPICaller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C423571CD4000EF978 /* FeedWranglerAPICaller.swift */; };
|
||||
3BF610C823571CD4000EF978 /* FeedWranglerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C523571CD4000EF978 /* FeedWranglerConfig.swift */; };
|
||||
3BF610C923571CD4000EF978 /* FeedWranglerAccountDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C623571CD4000EF978 /* FeedWranglerAccountDelegate.swift */; };
|
||||
@ -178,6 +179,7 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
3B826D6823859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedWranglerAuthorizationResult.swift; sourceTree = "<group>"; };
|
||||
3BF610C423571CD4000EF978 /* FeedWranglerAPICaller.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedWranglerAPICaller.swift; sourceTree = "<group>"; };
|
||||
3BF610C523571CD4000EF978 /* FeedWranglerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedWranglerConfig.swift; sourceTree = "<group>"; };
|
||||
3BF610C623571CD4000EF978 /* FeedWranglerAccountDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedWranglerAccountDelegate.swift; sourceTree = "<group>"; };
|
||||
@ -349,6 +351,7 @@
|
||||
3BF6118F23577173000EF978 /* FeedWranglerGenericResult.swift */,
|
||||
3BF611912357877E000EF978 /* FeedWranglerFeedItem.swift */,
|
||||
3BF6119323578F55000EF978 /* FeedWranglerFeedItemsRequest.swift */,
|
||||
3B826D6823859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift */,
|
||||
);
|
||||
path = FeedWrangler;
|
||||
sourceTree = "<group>";
|
||||
@ -948,6 +951,7 @@
|
||||
9E1D155B2334423300F4944C /* FeedlyOrganiseParsedItemsByFeedOperation.swift in Sources */,
|
||||
552032FE229D5D5A009559E0 /* ReaderAPIAccountDelegate.swift in Sources */,
|
||||
3BF610C723571CD4000EF978 /* FeedWranglerAPICaller.swift in Sources */,
|
||||
3B826D6923859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift in Sources */,
|
||||
5170743C232AEDB500A461A3 /* OPMLFile.swift in Sources */,
|
||||
51BB7B84233531BC008E8144 /* AccountBehaviors.swift in Sources */,
|
||||
9E1773D923458D590056A5A8 /* FeedlyResourceId.swift in Sources */,
|
||||
|
@ -33,31 +33,18 @@ final class FeedWranglerAPICaller: NSObject {
|
||||
let request = URLRequest(url: callURL, credentials: credentials)
|
||||
let username = self.credentials?.username ?? ""
|
||||
|
||||
transport.send(request: request) { result in
|
||||
transport.send(request: request, resultType: FeedWranglerAuthorizationResult.self) { result in
|
||||
switch result {
|
||||
case .success(let (_, data)):
|
||||
guard let data = data else {
|
||||
case .success(let (_, results)):
|
||||
if let accessToken = results?.accessToken {
|
||||
let authCredentials = Credentials(type: .feedWranglerToken, username: username, secret: accessToken)
|
||||
completion(.success(authCredentials))
|
||||
} else {
|
||||
completion(.success(nil))
|
||||
return
|
||||
}
|
||||
|
||||
do {
|
||||
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String:Any] {
|
||||
if let accessToken = json["access_token"] as? String {
|
||||
let authCredentials = Credentials(type: .feedWranglerToken, username: username, secret: accessToken)
|
||||
completion(.success(authCredentials))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
completion(.success(nil))
|
||||
} catch let error {
|
||||
completion(.failure(error))
|
||||
}
|
||||
case .failure(let error):
|
||||
completion(.failure(error))
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,23 @@
|
||||
//
|
||||
// FeedWranglerAuthorizationResult.swift
|
||||
// Account
|
||||
//
|
||||
// Created by Jonathan Bennett on 2019-11-20.
|
||||
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct FeedWranglerAuthorizationResult: Hashable, Codable {
|
||||
|
||||
let accessToken: String?
|
||||
let error: String?
|
||||
let result: String
|
||||
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case accessToken = "access_token"
|
||||
case error = "error"
|
||||
case result = "result"
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user