Skip to content

Releases: 0xLet/SURL

canImport(Combine)

17 Mar 19:14
Compare
Choose a tag to compare

Example SURL

"https://raw.githubusercontent.com/0xLeif/0xLeif/master/README.md"
    .url?
    .get  { (data, response, error) in
    
    print(String(data: data!, encoding: .utf8))
    
}

URL+

21 Nov 01:27
Compare
Choose a tag to compare

Overview

Example SURL

"https://raw.githubusercontent.com/0xLeif/0xLeif/master/README.md"
    .url?
    .get  { (data, response, error) in
    
    print(String(data: data!, encoding: .utf8))
    
}

URLRequest+ HTTPRequestMethod

public extension URLRequest {
    
    // MARK: HTTPRequestMethod
    
    enum HTTPRequestMethod: String {
        case GET
        case HEAD
        case POST
        case PUT
        case DELETE
        case CONNECT
        case OPTIONS
        case TRACE
        case PATCH
    }

}

URLRequest+DataTask

public extension URLRequest {
 
    var dataTask: URLSessionDataTask

    @available(macOS 10.15, iOS 13, watchOS 6, tvOS 13, *)
    var dataTaskPublisher: URLSession.DataTaskPublisher

    func dataTask(withHandler handler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTask

}

URLRequest+DataTasks

public extension URL {
    
    // MARK: URLSession DataTasks
    
    var dataTask: URLSessionDataTask {
        URLSession.shared.dataTask(with: self)
    }
    
    @available(macOS 10.15, iOS 13, watchOS 6, tvOS 13, *)
    var dataTaskPublisher: URLSession.DataTaskPublisher {
        URLSession.shared.dataTaskPublisher(for: self)
    }
    
    func dataTask(withHandler handler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTask {
        URLSession.shared.dataTask(with: self, completionHandler: handler)
    }

    // ...

}