diff --git a/Package.swift b/Package.swift index ac6bb5a..d985014 100644 --- a/Package.swift +++ b/Package.swift @@ -12,11 +12,9 @@ let package = Package( products: [ .executable(name: "Example", targets: ["Example"]), .library(name: "Papyrus", targets: ["Papyrus"]), - .library(name: "PapyrusAlamofire", targets: ["PapyrusAlamofire"]), .library(name: "PapyrusCore", targets: ["PapyrusCore"]), ], dependencies: [ - .package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.7.1")), .package(url: "https://github.com/apple/swift-syntax", from: "510.0.0"), .package(url: "https://github.com/pointfreeco/swift-macro-testing", from: "0.1.0"), ], @@ -39,14 +37,6 @@ let package = Package( ], path: "Papyrus" ), - .target( - name: "PapyrusAlamofire", - dependencies: [ - .byName(name: "PapyrusCore"), - .product(name: "Alamofire", package: "Alamofire"), - ], - path: "PapyrusAlamofire" - ), .target( name: "PapyrusCore", dependencies: [ diff --git a/PapyrusAlamofire/Alamofire+Papyrus.swift b/PapyrusAlamofire/Alamofire+Papyrus.swift deleted file mode 100644 index 96b39c3..0000000 --- a/PapyrusAlamofire/Alamofire+Papyrus.swift +++ /dev/null @@ -1,79 +0,0 @@ -@_exported import Alamofire -@_exported import Foundation -@_exported import PapyrusCore - -extension Provider { - public convenience init(baseURL: String, - session: Session = .default, - modifiers: [RequestModifier] = [], - interceptors: [PapyrusCore.Interceptor] = []) { - self.init(baseURL: baseURL, http: session, modifiers: modifiers, interceptors: interceptors) - } -} - -// MARK: `HTTPService` Conformance - -extension Session: HTTPService { - public func build(method: String, url: URL, headers: [String: String], body: Data?) -> PapyrusCore.Request { - var request = URLRequest(url: url) - request.httpMethod = method - request.httpBody = body - request.allHTTPHeaderFields = headers - return request - } - - public func request(_ req: PapyrusCore.Request) async -> Response { - await request(req.urlRequest).serializingData().response - } - - public func request(_ req: PapyrusCore.Request, completionHandler: @escaping (Response) -> Void) { - request(req.urlRequest).response(completionHandler: completionHandler) - } -} - -// MARK: `Response` Conformance - -extension Response { - public var urlRequest: URLRequest? { alamofire.request } - public var urlResponse: HTTPURLResponse? { alamofire.response } - public var alamofire: DataResponse { - self as! DataResponse - } -} - -extension DataResponse: Response { - @_implements(Response, request) - public var _request: PapyrusCore.Request? { request } - public var body: Data? { data } - public var headers: [String : String]? { response?.headers.dictionary } - public var statusCode: Int? { response?.statusCode } - public var error: Error? { - guard case .failure(let error) = result else { return nil } - return error - } -} - -// MARK: `Request` Conformance - -extension PapyrusCore.Request { - public var urlRequest: URLRequest { - (self as! URLRequest) - } -} - -extension URLRequest: PapyrusCore.Request { - public var body: Data? { - get { httpBody } - set { httpBody = newValue } - } - - public var method: String { - get { httpMethod ?? "" } - set { httpMethod = newValue } - } - - public var headers: [String: String] { - get { allHTTPHeaderFields ?? [:] } - set { allHTTPHeaderFields = newValue } - } -}