HTTP 工具:ModestProposal

jopen 9年前發布 | 9K 次閱讀 網絡工具包 ModestProposal

ModestProposal 是 HTTP 工具,特性:

  • URL 綁定

  • 請求綁定

  • 響應驗證

  • JSON 格式化

  • JSON 解析

  • 實體翻譯

  • 異步轉換

URL 綁定

let baseURL = NSURL(string: "http://test.com")!
let loginURL = baseURL.buildURL(path: "/login") // http://test.com/login
let dataURL = baseURL.buildURL(path: "/data", parameters: ["id": "100", "page": "3"]) // http://test.com/data?id=100&page=3

請求綁定

let baseRequest = NSURLRequest(URL: baseURL)
let loginRequest = baseRequest.POST("/login", parameters: ["id": "100", "page": "3"]) // HTTPBody will be set to parameters
loginRequest["Custom-Header"] = "Custom value"

響應驗證

let response = // NSURLResponse from a request
let builder = ValidatorBuilder()
// Add rules that are executed in order
builder.valid(when: response.isHTTP, otherwise: NSError(domain, "MyDomain", code: kErrorCode, userInfo: nil))
builder.valid(when: response.matchesStatuses([HTTPStatusSuccessful], otherwise: NSError(domain, "MyDomain", code: kErrorCode, userInfo: nil))
builder.valid(when: response["Custom-Header"] == "Custom value", otherwise: NSError(domain, "MyDomain", code: kErrorCode, userInfo: nil))
let validator = builder.build()
if let error = validator.validate() {
    println(error)
} else {
    println("Valid!")
}

項目主頁:http://www.baiduhome.net/lib/view/home/1419468541109

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!