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

		}
	}
	
	internal static var serviceURL = "https://api.ipify.org?format=json"	// var only for unit testabilty
	
	public static func getPublicIPAddress(completion: @escaping CompletionHandler) {
		let url = URL(string: Ipify.serviceURL)!
		

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)
