Skip to content

muukii-archive/BrickRequest

Repository files navigation

BrickRequest

CI Status Version License Platform

Abstruct Framewrok of Request

Requirements

iOS8.0 +, Swift2.2

What's Brick?

BrickRequest provides protocol only.

You need implement this protocols. Then API request will be clean.

  • RequestContextType
  • RequestType
  • ResponseType
let request = RequestContextType.create { response in
    // Response process
}

request.resume()
public protocol RequestContextType {

}

extension RequestContextType where Self: ResponseType, Self: RequestType {

    public func create(block: Alamofire.Response<SerializedObject, ResponseError> -> Void) -> Alamofire.Request {

        let request = self.createRequest(method: self.method, URLString: self.URLString, manager: self.manager)
        request.response(responseSerializer: self.responseSerializer, completionHandler: block)
        return request
    }
}

public protocol RequestType {

    var method: Alamofire.Method { get }
    var URLString: String { get }
    var manager: Alamofire.Manager { get }
    func createRequest(method method: Alamofire.Method, URLString: String, manager: Alamofire.Manager) -> Alamofire.Request
}

public protocol ResponseType {

    associatedtype SerializedObject
    associatedtype ResponseError: ErrorType

    var responseSerializer: Alamofire.ResponseSerializer<SerializedObject, ResponseError> { get }
}

Installation

BrickRequest is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "BrickRequest"

Author

muukii, m@muukii.me

License

BrickRequest is available under the MIT license. See the LICENSE file for more info.

About

Build the request like LEGO (Powered by Alamofire)

Resources

License

Stars

Watchers

Forks

Packages

No packages published