Defined the Endpoint protocol.
This commit is contained in:
parent
c6c5447500
commit
8a6940ee8d
@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// RequestMethod.swift
|
||||||
|
// APIService
|
||||||
|
//
|
||||||
|
// Created by Javier Cicchelli on 03/12/2022.
|
||||||
|
// Copyright © 2022 Röck+Cöde. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
enum RequestMethod: String {
|
||||||
|
case delete = "DELETE"
|
||||||
|
case get = "GET"
|
||||||
|
case patch = "PATCH"
|
||||||
|
case post = "POST"
|
||||||
|
case put = "PUT"
|
||||||
|
}
|
43
Libraries/Sources/APIService/Protocols/Endpoint.swift
Normal file
43
Libraries/Sources/APIService/Protocols/Endpoint.swift
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
//
|
||||||
|
// Endpoint.swift
|
||||||
|
// APIService
|
||||||
|
//
|
||||||
|
// Created by Javier Cicchelli on 03/12/2022.
|
||||||
|
// Copyright © 2022 Röck+Cöde. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
protocol Endpoint {
|
||||||
|
var scheme: String { get }
|
||||||
|
var host: String { get }
|
||||||
|
var path: String { get }
|
||||||
|
var method: RequestMethod { get }
|
||||||
|
var credentials: BasicCredentials { get }
|
||||||
|
var headers: [String: String] { get }
|
||||||
|
var body: [String: String]? { get }
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Defaults
|
||||||
|
|
||||||
|
extension Endpoint {
|
||||||
|
var scheme: String { "http" }
|
||||||
|
var host: String { "163.172.147.216:8080" }
|
||||||
|
var authorizationHeader: [String: String] {
|
||||||
|
let makeAuthHeader = MakeAuthorizationHeaderUseCase()
|
||||||
|
|
||||||
|
do {
|
||||||
|
return try makeAuthHeader(
|
||||||
|
username: credentials.username,
|
||||||
|
password: credentials.password
|
||||||
|
)
|
||||||
|
} catch {
|
||||||
|
return [:]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Structs
|
||||||
|
|
||||||
|
struct BasicCredentials {
|
||||||
|
let username: String
|
||||||
|
let password: String
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user