Releases
v0.2.0
Compare
Sorry, something went wrong.
No results found
大部分 Trait 现在都实现了 Clone,减少了泛型参数以方便被作为 Trait Object 使用
所有回调函数均可以返回 anyhow::Result 作为返回结果
qiniu_http::Metrics 从 trait 改为 struct,并增加相应的 qiniu_http:MetricsBuilder
qiniu_http 增加 OnProgressCallback / OnStatusCodeCallback / OnHeaderCallback 存储上传进度 / 状态码 / HTTP Header 回调函数
增加 qiniu_http::RequestPartsBuilder
为 qiniu_http_client::RetriedStatsInfo 和 qiniu_download_manager::RetriedStatsInfo 增加公开的修改方法
qiniu_http_client::ResponseError 现在可以存储 http::Extensions,多个先前返回 &qiniu_http_client::ResponseError 的回调函数现在返回它的可变引用。
qiniu_upload_manager 改进对于上传的分片有效期的判断逻辑
qiniu_upload_manager 恢复分片上传时优先使用来自恢复文件中记录的上传地址
qiniu_upload_manager 从 FileDataSource 内分离出 AsyncFileDataSource,以及从 DataSource 里分离出 AsyncDataSource
qiniu_upload_manager::MultiPartsUploader 内 complete_parts 和 async_complete_parts 不再要求传入 InitializedParts 和 UploadedPart 本身,只需要传入引用即可
qiniu_upload_manager 公开 UnseekableDataSource 和 AsyncUnseekableDataSource
qiniu_upload_manager::ObjectParams / qiniu_upload_manager::AutoUploaderObjectParams 不再返回任何字段的可变引用
修复 qiniu_download_manager 只能下载带有 Content-Length 的响应的问题
不兼容变更
qiniu-upload-token
UploadTokenProvider::to_token_string 的返回结果从 std::io::Result 改为 ToStringResult,UploadTokenProvider::async_to_token_string 的返回结果则改为 ToStringResult 的 BoxFuture 版本。
BucketUploadTokenProviderBuilder 和 ObjectUploadTokenProviderBuilder 的 on_policy_generated 方法接受的回调函数现在需要返回 anyhow::Result<()>,先前不返回任何数据。
qiniu-http
ResponseError::builder 接受的错误类型从 impl Into<Box<dyn std::io::Error + Send + Sync>> 改为 impl Into<anyhow::Error>,ResponseError::into_inner 返回的数据类型从 Box<dyn std::io::Error + Send + Sync> 改为 anyhow::Error。
Metrics 类型从 Trait 改为 Struct。
CallbackResult 类型被彻底移除,所有回调函数返回值从 CallbackResult 类型改为 anyhow::Result。
RequestParts::on_uploading_progress_mut 现在返回 &mut Option<OnProgressCallback> 类型,RequestParts::on_receive_response_status_mut 现在返回 &mut Option<OnStatusCodeCallback> 类型,RequestParts::on_receive_response_header_mut 现在返回 &mut Option<OnHeaderCallback> 类型。
RequestBuilder::on_uploading_progress 现在接受 impl Into<OnProgressCallback> 类型,RequestBuilder::on_receive_response_status 现在接受 impl Into<OnStatusCodeCallback> 类型,RequestBuilder::on_receive_response_header 现在接受 impl Into<OnHeaderCallback> 类型。
qiniu-http-client
所有回调函数返回值从 CallbackResult 类型改为 anyhow::Result。
RequestBuilder::on_uploading_progress 接受的回调函数的参数类型从 &TransferProgressInfo 改为 TransferProgressInfo,RequestBuilder::on_error 接受的回调函数的参数类型从 &ResponseError 改为 &mut ResponseError。
ResponseError::new 接受的错误类型从 impl Into<Box<dyn std::io::Error + Send + Sync>> 改为 impl Into<anyhow::Error>。
Resolver / Backoff / Chooser / RequestRetrier 现在实现 Clone。
qiniu-apis
所有回调函数返回值从 CallbackResult 类型改为 anyhow::Result。
RequestBuilder::on_uploading_progress 接受的回调函数的参数类型从 &TransferProgressInfo 改为 TransferProgressInfo,RequestBuilder::on_error 接受的回调函数的参数类型从 &ResponseError 改为 &mut ResponseError。
qiniu-objects-manager
所有回调函数返回值从 CallbackResult 类型改为 anyhow::Result。
BatchOperations::after_response_error_callback 接受的回调函数的参数类型从 &ResponseError 改为 &mut ResponseError,ListBuilder::after_response_error_callback 接受的回调函数的参数类型从 &ResponseError 改为 &mut ResponseError。
BatchSizeProvider / OperationProvider 现在实现 Clone。
ObjectsManager::credential 返回类型从 Arc<dyn CredentialProvider> 改为 &dyn CredentialProvider。
qiniu-upload-manager
所有回调函数返回值从 CallbackResult 类型改为 anyhow::Result。
UploadManager::multi_parts_uploader / UploadManager::multi_parts_v1_uploader / UploadManager::multi_parts_v2_uploader 现在额外接受泛型参数 H: Digest + Send + 'static。
UploadManager::auto_uploader / UploadManager::auto_uploader_builder 现在仅接受一个泛型参数 H: Digest + Send + 'static。
UploaderWithCallbacks::on_response_error 接受的回调函数的参数类型从 &ResponseError 改为 &mut ResponseError。
AutoUploader / AutoUploaderBuilder 现在仅有一个泛型参数 H: Digest + Send + 'static。
ObjectParams / AutoUploaderObjectParams 不再返回任何字段的可变引用。
ObjectParams / ObjectParamsBuilder 移除所有 uploaded_part_ttl 字段相关方法。
ConcurrencyProvider / DataPartitionProvider / ResumablePolicyProvider / ResumableRecorder / MultiPartsUploaderScheduler / DataSource / SinglePartUploader / MultiPartsUploader / InitializedParts 现在实现 Clone。
DataSource 移除了 async_slice / async_source_key / async_total_size 方法,增加了 reset 方法。
ResumablePolicyProvider 的 get_policy_from_reader / get_policy_from_async_reader 方法原本接受的是泛型参数,现在接受它的 Trait Object 类型。
ResumableRecorder 现在只有一个泛型参数 HashAlgorithm,所有涉及到泛型参数的方法现在都改用 Trait Object 类型。
MultiPartsUploaderScheduler 现在只有一个泛型参数 A: Digest,移除了 new 方法,所有涉及到泛型参数的方法现在都改用 Trait Object 类型。
MultiPartsUploader 移除了泛型参数 ResumableRecorder,加上了 HashAlgorithm: Digest + Send + 'static / AsyncInitializedParts: InitializedParts + 'static / AsyncUploadedPart: UploadedPart。
MultiPartsUploader 增加了 reinitialize_parts / async_reinitialize_parts 方法。
MultiPartsUploader 的 complete_parts / async_complete_parts 方法现在只接受 initialized 和 parts 的不可变引用。
SinglePartUploader / MultiPartsUploader / InitializedParts / UploadedPart 不可被用户实现。
qiniu-download-manager
所有回调函数返回值从 CallbackResult 类型改为 anyhow::Result。
DownloadManager / DownloadManagerBuilder / EndpointsUrlGenerator / EndpointsUrlGeneratorBuilder / UrlsSigner 现在移除了所有泛型参数。
DownloadManagerBuilder 的所有构造器方法现在都仅需要 &mut self 即可调用。
DownloadingObject::on_download_progress 接受的回调函数的参数从 &TransferProgressInfo 改为 DownloadingProgressInfo,DownloadingObject::on_response_error 接受的回调函数的参数从 &ResponseError 改为 &mut ResponseError。
DownloadRetrier / DownloadUrlsGenerator 现在实现 Clone。
You can’t perform that action at this time.