//
//  ZYJQNPipeline.h
//  ZYJQiniuSDK
//
//  Created by BaiLong on 2017/7/25.
//  Copyright © 2017年 Qiniu. All rights reserved.
//

#ifndef ZYJQNPipeline_h
#define ZYJQNPipeline_h

@class ZYJQNHttpResponseInfo;

@interface ZYJQNPipelineConfig : NSObject

/**
 * 上报打点域名
 */
@property (copy, nonatomic, readonly) NSString *host;

/**
 *    超时时间 单位 秒
 */
@property (assign) UInt32 timeoutInterval;

- (instancetype)initWithHost:(NSString *)host;

- (instancetype)init;

@end

/**
 *    上传完成后的回调函数
 *
 *    @param info 上下文信息，包括状态码，错误值
 */
typedef void (^ZYJQNPipelineCompletionHandler)(ZYJQNHttpResponseInfo *info);

@interface ZYJQNPipeline : NSObject

- (instancetype)init:(ZYJQNPipelineConfig *)config;

- (void)pumpRepo:(NSString *)repo
           event:(NSDictionary *)data
           token:(NSString *)token
         handler:(ZYJQNPipelineCompletionHandler)handler;

- (void)pumpRepo:(NSString *)repo
          events:(NSArray<NSDictionary *> *)data
           token:(NSString *)token
         handler:(ZYJQNPipelineCompletionHandler)handler;

@end

#endif /* ZYJQNPipeline_h */
