 			handleIpifyResponse(with: data, error: error, completion: completion)
 		}.resume()
 	}
+	
 	
 	internal static func handleIpifyResponse(with data: Data?, error: Error?, completion: @escaping CompletionHandler) {
 		guard error == nil else {

			completion(Result.failure(CustomError.invalidJson))
		}
	}
}

public struct Ipify {
	
	public typealias JSONDictionary = [String: Any]
	
	/// A closure containing a `Result` enum.
	public typealias CompletionHandler = (Result) -> Void
	
	
	/// Used to represent whether request was successful or encountered an error.
	///
	/// - success: The request was successful resulting. The associated value is the IP address string representation.
	/// - failure: The request encountered an error resulting in a failure. The associated values are the original data
	///            provided by the server as well as the error that caused the failure.
	public enum Result {
		case success(String)
		case failure(CustomError)
