 open class RequestManager {
     public typealias Success = ((JSON?) -> ())?
     public typealias Failure = ((JSON?, NSError?) -> ())?
-    public typealias SuccessResponse = ((JSON?, _ response: Response<NSData, NSError>?) -> ())?
+    public typealias SuccessResponse = ((JSON?, _ response: URLR) -> ())?
     public typealias FailureResponse = ((JSON?, NSError?, _ response: Response<NSData, NSError>?) -> ())?
     
     open static let sharedInstance = RequestManager()

//MARK: - Request Methods
extension RequestManager {
    public func request(_ method: Alamofire.Method,
                 url: URLStringConvertible,
                 parameters: [String: AnyObject]?,
                 success: SuccessResponse,
                 failure: FailureResponse) {
        
        Alamofire.request(method, url, headers: headers, parameters: parameters, encoding: encoding)
            .validate(statusCode: 200..<300)

import SwiftyJSON
import Log



open class URLString: URLConvertible {
    open var string: String
    
    public init(string: String) {
        self.string = string
    }
    
    public func asURL() throws -> URL {
        return URL(string: <#T##String#>)
    }
    
    open var URLString: String {
