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