Last active
March 13, 2019 16:12
-
-
Save jemai/fd0a4c77ce26c6af6dbcd0381d0108db to your computer and use it in GitHub Desktop.
Request protocol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
public typealias Headers = [String: String] | |
public typealias Params = [String: String] | |
public typealias BodyParams = [String: Any] | |
public protocol Request { | |
var urlString : String? { get } | |
var method : HTTPMethod { get } | |
var bodyParams : BodyParams? { get } | |
var headers : Headers? { get } | |
var params : Params? { get } | |
} | |
public extension Request { | |
public var method : HTTPMethod { return .get } | |
public var bodyParams : BodyParams? { return nil } | |
public var headers : Headers? { return nil } | |
} | |
public init(url: String) { | |
self.urlString = url | |
} | |
public struct HTTPRequest: Request { | |
public var params: Params? | |
public var bodyData: Data? | |
public var urlString: String? | |
public var method: HTTPMethod = .get | |
public var bodyParams: BodyParams? = nil | |
public var headers: Headers? = ["Content-Type" : "application/json"] | |
public init(url: String, headers: Headers?, bodyParams: BodyParams?, method: HTTPMethod, params: Params? = nil) { | |
self.urlString = url | |
self.method = method | |
self.headers = headers | |
self.bodyParams = bodyParams | |
self.params = params | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment