Files
OAuthSwift/Sources/URLConvertible.swift

42 lines
702 B
Swift

//
// URLConvertible.swift
// OAuthSwift
//
// Created by Arman Arutyunov on 07/02/2019.
// Copyright © 2019 Dongri Jin. All rights reserved.
//
import Foundation
/// Either a String representing URL or a URL itself
public protocol URLConvertible {
var string: String { get }
var url: URL? { get }
}
extension String: URLConvertible {
public var string: String {
return self
}
public var url: URL? {
return URL(string: self)
}
}
extension URL: URLConvertible {
public var string: String {
return absoluteString
}
public var url: URL? {
return self
}
}
extension URLConvertible {
public var encodedURL: URL {
return URL(string: self.string.urlEncoded)!
}
}