Mesh 2.0.4

Mesh 2.0.4

Manas Sharma维护。



Mesh 2.0.4

  • 作者
  • Manas Sharma

Mesh

封装了URLSession。

安装

pod init 
pod 'Mesh'
pod install

GET

import Mesh

let mesh = Mesh(baseURL: "https://jsonplaceholder.typicode.com")
mesh.get(endpoint: "/posts", progressHandler: {
        print($0)
        
    }) {
        switch $0 {
        case .success(let reply):
        
            print(reply.payload)
            print(reply.mimeType)
            print(reply.allHeaderFields)
            print(reply.url)
            
        case .failure:
        
            // Present alert to user
            print("An error occurred.")
        }
    }

POST

let mesh = Mesh(baseURL: "https://jsonplaceholder.typicode.com")
mesh.post(endpoint: "/posts", httpBody: ["username" : "manasshr"], progressHandler: {
        print($0)
        
    }) {
        switch $0 {
        case .success(let reply):
        
        print(reply.payload)
            
        case .failure:
            print("An error occurred.")
        }
    }

PUT

mesh.put(endpoint: "/posts/1", httpBody: ["username" : "manasshr"])

HEAD

mesh.head(endpoint: "")

补丁

mesh.patch(endpoint: "/posts/1", httpBody: ["username" : "manasshr"])

删除

mesh.delete(endpoint: "/posts/1", httpBody: ["username" : "manasshr"])

下载中

let url = "https://images.pexels.com/photos/617278/pexels-photo-617278.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"

Mesh.download(url: url, progressHandler: {
        print($0)

    }) {
        switch $0 {
        case .success(let localUrl):
            async {
                if let data = try? Data(contentsOf: localUrl) {
                    self.someImageView.image = UIImage(data: data)
                }
            }
            
        case .failure:
            print("An error occurred.")
        }
    }