当前位置: 首页 > 知识库问答 >
问题:

线调提供来自文件的响应并保持连接处于活动状态

易镜
2023-03-14

我们想测试一个特殊的场景。

我们将使用一个HTTP流,该流将在特定时间范围内保持打开状态。该流由纯文本行 (CSV) 组成,并使用分块传输编码进行流式处理。

当我们连接时,我们希望从服务器端的一个文件中获取所有数据,一旦提供了大部分数据,连接就保持活动状态,因为可能会有更多的数据通过同一连接传输。

Wiremock是否可以提供文件中的所有内容并保持连接处于活动状态(不会发送空块来表示流结束)?

共有1个答案

鲜于华容
2023-03-14

简单的回答是没有。

虽然根据HTTP 1.1规范,WireMock在默认情况下会保持连接活动,但是一旦发送完所有内容,无论是通过空块还是通过设置< code>Content-Length,它都会终止响应。

你想做的(如果我理解正确的话)是在单个响应的上下文中输出多个有效负载,而WireMock没有办法这样做。

一个可能的解决方案是将您的所有响应部分连接到一个文件中,尽管我怀疑您因为未说明的原因而忽略了该选项。

另一种可能是向WireMock提供您自己的FileSource实现,从而提供您自己InputStreamSource,这将使您能够更好地控制底层文件在响应中的流式输出方式。

 类似资料:
  • 我正在创建一个客户端服务器应用程序。服务器已经设计好,等待从客户端连接。现在在客户机部分中,我希望在应用程序的整个生命周期中保持连接活动,并且只有当主客户机应用程序关闭或关闭或者服务器关闭它时,连接才会关闭。 在处理程序中我有:

  • 问题内容: 我正在使用POST方法。我需要创建一次,并且应该使用Keep Alive Connection。但是我认为,它每次都会建立一个新的连接。 因此,我需要使用 保持活动 连接。 这是我的代码段,很多帮助将不胜感激。 而且logcat日志是: 问题答案: 10:07:29.746:D / org.apache.http.headers(1529):>>连接:保持活动 您正在要求保持活动状态。

  • 我在Go中有以下代码。Go使用超文本传输协议保持连接。因此,根据我的理解,不会创建新连接,因为Go语言使用默认的持久连接。 > 据我所知,HTTP持久连接一次只能发出一个请求,即第二个请求只能在第一次响应之后发出。然而,如果多个线程调用会发生什么?将在前一个请求得到响应之前是否发送另一个请求? 我假设服务器超时了客户端建立的任何保持活动的连接。如果服务器超时,那么下一次,它会建立新的连接吗?

  • 我有以下关于连接和TCP保持活动状态的查询: 对于TCP连接,TCP保持活动状态是强制性吗? 保持活动状态的持续时间是固定的还是可配置的? 假设“保持活动”间隔为每15秒一次,那么“保持活动”是始终每15秒发送一次,还是仅在15秒内未发送应用程序数据时才发送? 服务器(通过TCP与客户机连接)如何判断与客户机的连接是否完整?是否可以使用TCP keepalive完成?在这种情况下,是否是服务器需要

  • 我有一个Android应用程序,即时通讯是其中一个关键功能。为了实现IM特性,我们使用基于的推送服务器。 编辑:我曾建议使用前台服务,但下午不喜欢通知托盘总是显示在状态栏,他希望保持干净。 任何建议都将不胜感激!

  • 问题内容: 错误代码:2013。查询期间丢失与MySQL服务器的连接 我正在使用MySQL Workbench。另外,我正在运行一批插入件,总共约1000行(例如,相乘1000次),每批插入都花费相当多的时间,其中一些超过600秒。 如何配置工作台,使其在一夜之间继续工作,而又不停止且不丢失连接? 问题答案: 从现在不可用的互联网档案中: 转到“编辑”->“首选项”->“ SQL编辑器”,然后将此