Skip to content

Commit

Permalink
update to new protocol methods for escaping and optional JWT token
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas409 committed May 7, 2018
1 parent a3aa41d commit c63dcc9
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 8 deletions.
2 changes: 1 addition & 1 deletion FlatNetworkClient.podspec
Expand Up @@ -8,7 +8,7 @@
Pod::Spec.new do |s|

s.name = "FlatNetworkClient"
s.version = "1.0.0"
s.version = "1.1.0"
s.summary = "Swifty wrapper around URLSession"

s.description = <<-DESC
Expand Down
8 changes: 3 additions & 5 deletions FlatNetworkClient/FlatNetworkClient.swift
Expand Up @@ -2,9 +2,8 @@ import Foundation

open class NetworkClient: NSObject, NetworkConnectable {

public var getJWT: (() -> String)?
public var refreshJWT: ((() -> Void) -> Void)?

open var getJWT: (() -> String?)?
open var refreshJWT: ((@escaping () -> Void) -> Void)?
open var tasks = [String: URLSessionTask]()

open var session: URLSessionInjectable = {
Expand Down Expand Up @@ -43,12 +42,11 @@ open class NetworkClient: NSObject, NetworkConnectable {
}

private func execute<A>(_ endPoint: EndpointCreator, type: A.Type?, completion: @escaping (A?, Error?) -> Void) where A: JsonCreatable {

if !endPoint.jwtRequired || isJWTValid() {
performNetworkCall(endPoint, completion, type)
} else {
refreshJWT? {
performNetworkCall(endPoint, completion, type)
self.performNetworkCall(endPoint, completion, type)
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions FlatNetworkClient/NetworkProtocols.swift
Expand Up @@ -5,8 +5,8 @@ public typealias NetworkResult = (Data?, Error?) -> Void
public protocol NetworkConnectable {
var tasks: [String: URLSessionTask] { get set }
var session: URLSessionInjectable { get set }
var refreshJWT: ((() -> Void) -> Void)? { get set }
var getJWT: (() -> String)? { get set }
var refreshJWT: ((@escaping () -> Void) -> Void)? { get set }
var getJWT: (() -> String?)? { get set }

func get<A>(_ endPoint: EndpointCreator, type: A.Type?, completion: @escaping (A?, Error?) -> Void) where A: JsonCreatable
func post<A>(_ endPoint: EndpointCreator, type: A.Type?, completion: @escaping (A?, Error?) -> Void) where A: JsonCreatable
Expand Down

0 comments on commit c63dcc9

Please sign in to comment.