#import NS_ASSUME_NONNULL_BEGIN @interface HttpdnsEdgeResolveResult : NSObject @property (nonatomic, copy) NSString *requestId; @property (nonatomic, copy) NSArray *ipv4s; @property (nonatomic, copy) NSArray *ipv6s; @property (nonatomic, assign) NSInteger ttl; @end @interface HttpdnsEdgeService : NSObject - (instancetype)initWithAppId:(NSString *)appId apiUrl:(NSString *)apiUrl signSecret:(nullable NSString *)signSecret; - (void)resolveHost:(NSString *)host queryType:(NSString *)queryType completion:(void (^)(HttpdnsEdgeResolveResult *_Nullable result, NSError *_Nullable error))completion; /// Connect by IP + HTTPS and keep Host header as business domain. /// This path will not fallback to domain connect. - (void)requestURL:(NSURL *)url method:(NSString *)method headers:(nullable NSDictionary *)headers body:(nullable NSData *)body completion:(void (^)(NSData *_Nullable data, NSHTTPURLResponse *_Nullable response, NSError *_Nullable error))completion; @end NS_ASSUME_NONNULL_END