fudiwei / dotnetcore.skit.flurlhttpclient Goto Github PK
View Code? Open in Web Editor NEWSKIT.FlurlHttpClient 系列开发工具包的公共组件,为开发者提供使用体验一致的、可跨平台的第三方 API .NET SDK。已支持微信、抖音、百度、又拍云系列 API。QQ 交流群 875580418【满】、930461548【满】、611974621。
License: MIT License
SKIT.FlurlHttpClient 系列开发工具包的公共组件,为开发者提供使用体验一致的、可跨平台的第三方 API .NET SDK。已支持微信、抖音、百度、又拍云系列 API。QQ 交流群 875580418【满】、930461548【满】、611974621。
License: MIT License
升级到 .NET 8.0 的相关依赖项。
升级 Flurl.Http 到 v4.0(需要重新实现 IHttpClientFactory
相关功能)。
迁移 Converters 目录下类型的命名空间(maybe Converters.Common?),避免与 System.Text.Json / Newtonsoft.Json 内置类型冲突。
增加 int/long/double 等数组类型的字符串形式 JsonConverter。
重构 TextualObjectInJsonFormatConverterBase
,重命名删除后缀 Base,改为支持传入类型、而非手动继承。
重构 DynamicObjectConverter
,解决与 TextualObjectInJsonFormatConverter
的冲突性。
完善 JsonConverter 的单元测试,尽可能确保百分百覆盖率。
增加 IJsonSerializer 自定义接口实现,并调整 CommonClientSettings.JsonSerializer
配置项。
在上一条的基础上,迁移 Serialization 目录下类型的命名空间(maybe Configuration.Json?),并重命名已有类型,隐藏实现细节。
使拦截器支持异常捕获和上下文机制。
在上一条的基础上,迁移 Interception 目录下类型的命名空间(maybe Configuration?)。
调整 CommonRequest.Timeout
的设置方式,不再以属性形式存在,并重命名 CommonClientSettings.ConnectionRequestTimeout
→ Timeout
、移除 CommonClientSettings.ConnectionLeaseTimeout
。
调整 CommonResponse.RawStatus
、CommonResponse.RawHeaders
、CommonResponse.RawBytes
为只读。可能需要引入抽象基类。
调整 CommonResponse.RawHeaders
为自定义字典类型,增加常见响应标头值的直接获取。GroupBy 时不区分大小写;强制转换为小写键(参阅 RFC-7504、RFC-2616)。
移除 CommonClient.WrapRequest
方法。
新增 CommonClient.CreateFlurlRequest
方法(替代各 SDK 中的 CreateRequest
方法)。
重命名 CommonClient.SendRequestAsync
→ SendFlurlRequestAsync
。
重命名 CommonClient.SendRequestWithJsonAsync
→ SendFlurlRequestAsJsonAsync
。
重命名 CommonClient.WrapResponseAsync
→ WrapFlurlResponseAsync
。
重命名 CommonClient.WrapResponseWithJsonAsync
→ WrapFlurlResponseAsJsonAsync
。
新增独立的请求超时异常、序列化异常、反序列化异常、拦截器执行异常。
自 v2.x 后对齐各 SDK 与公共库的版本关系:v2.x → v2.x,v3.x → v3.x,依此类推。
C# 10.0 语法。
统一接口模型中浮点数字段定义方式:float
/double
→ decimal
。
Builder 模式,包含 ConfigureSettings
、WithHttpClient
方法。
加解密及哈希摘要相关工具类改造为 EncodedeString
+ ErroredResult
模式;部分哈希算法使用 .NET 5 提供的静态方法 HashData()
以提升性能。
ConfigureAwait(false)
更新相关文档。
更完善的代码质量分析工具(可能需要自定义特殊规则)。
为啥不整合一下支付宝的SDK
编译单元测试项目时 缺少 SKIT.FlurlHttpClient.Tools.CodeAnalyzer 包,辛苦作者大佬上传一下nuget。
编译环境:VS2019,NET472
SKIT.FlurlHttpClient.KuaiShou 目前正在写,后续可以合并进来
https://mp.kuaishou.com/docs/develop/server/code2Session.html
https://mp.kuaishou.com/docs/saas/develop/api/auth/process.html
本来想拉下来自己改得,没找到这个文件
是CreateClient(),不是.Create()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.