Giter Club home page Giter Club logo

dotnetcore.skit.flurlhttpclient's Introduction

Hello World

dotnetcore.skit.flurlhttpclient's People

Contributors

fudiwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dotnetcore.skit.flurlhttpclient's Issues

v3.x Roadmap

核心库

  • 升级到 .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.ConnectionRequestTimeoutTimeout、移除 CommonClientSettings.ConnectionLeaseTimeout

  • 调整 CommonResponse.RawStatusCommonResponse.RawHeadersCommonResponse.RawBytes 为只读。可能需要引入抽象基类。

  • 调整 CommonResponse.RawHeaders 为自定义字典类型,增加常见响应标头值的直接获取。GroupBy 时不区分大小写;强制转换为小写键(参阅 RFC-7504、RFC-2616)。

  • 移除 CommonClient.WrapRequest 方法。

  • 新增 CommonClient.CreateFlurlRequest 方法(替代各 SDK 中的 CreateRequest 方法)。

  • 重命名 CommonClient.SendRequestAsyncSendFlurlRequestAsync

  • 重命名 CommonClient.SendRequestWithJsonAsyncSendFlurlRequestAsJsonAsync

  • 重命名 CommonClient.WrapResponseAsyncWrapFlurlResponseAsync

  • 重命名 CommonClient.WrapResponseWithJsonAsyncWrapFlurlResponseAsJsonAsync

  • 新增独立的请求超时异常、序列化异常、反序列化异常、拦截器执行异常。


各 SDK

  • 自 v2.x 后对齐各 SDK 与公共库的版本关系:v2.x → v2.x,v3.x → v3.x,依此类推。

  • C# 10.0 语法。

  • 统一接口模型中浮点数字段定义方式:float/doubledecimal

  • Builder 模式,包含 ConfigureSettingsWithHttpClient 方法。

  • 加解密及哈希摘要相关工具类改造为 EncodedeString + ErroredResult 模式;部分哈希算法使用 .NET 5 提供的静态方法 HashData() 以提升性能。

  • ConfigureAwait(false)


其他

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.