我们很高兴地宣布Ktor 1.5.0的发布,它包含了新的功能,错误修复和新的文档!我们将继续努力。
新功能
1.5.0 是今年的第三个也是最后一个版本,按照我们的承诺,一年有三个主要或次要版本,每月至少发布一个补丁。我们很高兴地说,到目前为止,我们已经成功地或多或少地遵守了这个承诺,尽管有时会有一些延迟。
在这次小更新中,我们有一系列的新功能,包括:
新的开发模式
Ktor提供了一系列针对开发的功能,例如自动重装以及扩展的调试信息。虽然这两种功能在开发过程中都很有用,但在生产模式下可能会减慢速度。在1.5.0中,我们引入了一个新的开发模式,通过简单的配置或标志来实现这些功能。这也使得在生产模式下切换设置更加容易。
该功能可以在application.conf中使用development=true激活。
这是一个突破性的变化,因为自动重新加载现在只在这个新模式下启用。
支持Java HTTP客户端
Java 11引入了一个基于反应式流的HTTP客户端。Ktor客户端
现在,当以JVM为目标时,支持这个功能。
为了使用它,只需向HttpClient传入Java.HttpClient作为参数。
当然,你确实需要Java 11来实现这个功能。
支持通过HttpRequestBuilder发送cookie
如果使用HttpRequestBuilder,你现在有一个新的方法,名为Cookie,它允许你轻松地发送Cookie。
支持预压缩文件
很多时候你想发送已经压缩过的文件,避免Ktor试图进一步压缩内容。有了preCompressed功能
你现在可以很容易地做到这一点。
感谢我们的社区贡献者guicamest的贡献。
CORS中对自定义头文件的支持
我们现在支持允许在CORS请求中使用自定义标题。虽然通常不建议在请求中允许任何头,但你可以用Ktor指定某些遵循特定模式的自定义头。
感谢Joze的贡献。
实验性的WebSocket和Deflate扩展
我们引入了对 WebSocket 和 deflate 扩展的支持。这提供了RFC-7692的实现。
要使用它,请安装该功能
并简单地用两个新方法之一引用它:extension和extensionOrNull。
需要注意的是,这是一个实验性的API,我们很希望得到一些反馈。
支持服务器会话中的密封和嵌套类。
现在,你可以在你的服务器会话对象中拥有密封/嵌套类。
OkHttp WebSocket创建覆盖
您现在可以提供一个OkHttp WebSocket.Factory,它将在创建websocket时被考虑在内,让您在使用OkHttp时更加灵活。感谢Chris的贡献。
适当的异常处理
Ktor现在可以正确处理意外的异常。如果在管道线中发生了异常,它将被传播到主机上,并以500内部服务器错误和实际异常对象的形式返回。这使得应用程序本身能够更好地处理异常,并且不再需要为特定的状态代码配置状态页面。
除了上述功能外,1.5.0还带来了其他功能和bug修复。
新文件
我们2020-2021年的路线图中,有一项是改善入职体验,当然包括更好的文档。特别是我们重新编写了很多内容,并将其结构化得更好。我们现在已经完全完成了大概一半的内容,可以供你消费和反馈。请注意,仍然有一些旧的条目,而且随着我们推送新的内容,其中一些内容将被删除(并设置重定向)。
鸣谢
除了上述的贡献,我们还要感谢所有对Ktor的贡献者,无论是代码贡献,还是反馈和报告问题。
下载安装
像往常一样,你可以在Maven Central上获取位,或者使用Package Search直接在你的项目中搜索/管理Ktor的依赖关系。
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/tech/18586.html