mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2025-02-09 08:39:00 +01:00
use transport.send(request, resultType, completion)
This commit is contained in:
parent
e4cce9f7f2
commit
e867991ec8
@ -7,6 +7,7 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* 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 */; };
|
3BF610C723571CD4000EF978 /* FeedWranglerAPICaller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C423571CD4000EF978 /* FeedWranglerAPICaller.swift */; };
|
||||||
3BF610C823571CD4000EF978 /* FeedWranglerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C523571CD4000EF978 /* FeedWranglerConfig.swift */; };
|
3BF610C823571CD4000EF978 /* FeedWranglerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C523571CD4000EF978 /* FeedWranglerConfig.swift */; };
|
||||||
3BF610C923571CD4000EF978 /* FeedWranglerAccountDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C623571CD4000EF978 /* FeedWranglerAccountDelegate.swift */; };
|
3BF610C923571CD4000EF978 /* FeedWranglerAccountDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF610C623571CD4000EF978 /* FeedWranglerAccountDelegate.swift */; };
|
||||||
@ -178,6 +179,7 @@
|
|||||||
/* End PBXContainerItemProxy section */
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
/* Begin PBXFileReference 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>"; };
|
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>"; };
|
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>"; };
|
3BF610C623571CD4000EF978 /* FeedWranglerAccountDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedWranglerAccountDelegate.swift; sourceTree = "<group>"; };
|
||||||
@ -349,6 +351,7 @@
|
|||||||
3BF6118F23577173000EF978 /* FeedWranglerGenericResult.swift */,
|
3BF6118F23577173000EF978 /* FeedWranglerGenericResult.swift */,
|
||||||
3BF611912357877E000EF978 /* FeedWranglerFeedItem.swift */,
|
3BF611912357877E000EF978 /* FeedWranglerFeedItem.swift */,
|
||||||
3BF6119323578F55000EF978 /* FeedWranglerFeedItemsRequest.swift */,
|
3BF6119323578F55000EF978 /* FeedWranglerFeedItemsRequest.swift */,
|
||||||
|
3B826D6823859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift */,
|
||||||
);
|
);
|
||||||
path = FeedWrangler;
|
path = FeedWrangler;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -948,6 +951,7 @@
|
|||||||
9E1D155B2334423300F4944C /* FeedlyOrganiseParsedItemsByFeedOperation.swift in Sources */,
|
9E1D155B2334423300F4944C /* FeedlyOrganiseParsedItemsByFeedOperation.swift in Sources */,
|
||||||
552032FE229D5D5A009559E0 /* ReaderAPIAccountDelegate.swift in Sources */,
|
552032FE229D5D5A009559E0 /* ReaderAPIAccountDelegate.swift in Sources */,
|
||||||
3BF610C723571CD4000EF978 /* FeedWranglerAPICaller.swift in Sources */,
|
3BF610C723571CD4000EF978 /* FeedWranglerAPICaller.swift in Sources */,
|
||||||
|
3B826D6923859D9D00FC1ADB /* FeedWranglerAuthorizationResult.swift in Sources */,
|
||||||
5170743C232AEDB500A461A3 /* OPMLFile.swift in Sources */,
|
5170743C232AEDB500A461A3 /* OPMLFile.swift in Sources */,
|
||||||
51BB7B84233531BC008E8144 /* AccountBehaviors.swift in Sources */,
|
51BB7B84233531BC008E8144 /* AccountBehaviors.swift in Sources */,
|
||||||
9E1773D923458D590056A5A8 /* FeedlyResourceId.swift in Sources */,
|
9E1773D923458D590056A5A8 /* FeedlyResourceId.swift in Sources */,
|
||||||
|
@ -33,31 +33,18 @@ final class FeedWranglerAPICaller: NSObject {
|
|||||||
let request = URLRequest(url: callURL, credentials: credentials)
|
let request = URLRequest(url: callURL, credentials: credentials)
|
||||||
let username = self.credentials?.username ?? ""
|
let username = self.credentials?.username ?? ""
|
||||||
|
|
||||||
transport.send(request: request) { result in
|
transport.send(request: request, resultType: FeedWranglerAuthorizationResult.self) { result in
|
||||||
switch result {
|
switch result {
|
||||||
case .success(let (_, data)):
|
case .success(let (_, results)):
|
||||||
guard let data = data else {
|
if let accessToken = results?.accessToken {
|
||||||
|
let authCredentials = Credentials(type: .feedWranglerToken, username: username, secret: accessToken)
|
||||||
|
completion(.success(authCredentials))
|
||||||
|
} else {
|
||||||
completion(.success(nil))
|
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):
|
case .failure(let error):
|
||||||
completion(.failure(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