主要内容

matlab.net.http.io.GenericProvider类

包:matlab.net.http.io
超类:matlab.net.http.io.ContentProvider

通用ContentProvider HTTP负载

描述

使用一个GenericProvider由一个函数对象来生成自定义数据流,而不是创建一个内容提供者子类。

matlab.net.http.io.GenericProvider类是一个处理类。

创建

描述

提供者= GenericProvider (getDataFcn)构造一个内容提供者使用函数getDataFcn获取缓冲区的数据。这个构造函数设置GetDataFcn财产getDataFcn

提供者= GenericProvider (getDataFcn,contentLength)添加一个消息的标题内容长度字段,它的值是多少contentLength。使用这个语法作为一种替代方法来添加内容长度字段直接头。在这种情况下,返回的数据的长度getDataFcn之前,停止= true设置,必须相等这个长度。

提供者= GenericProvider (getDataFcn,contentLength,bufferSize)构造一个内容提供者提供额外的选项。如果contentLength非空,然后构造函数集的长度数据。如果bufferSize非空,然后构造函数集数据缓冲区的最大大小。

输入参数

全部展开

预期负载长度指定为uint64

缓冲区大小,指定为两倍。

属性

全部展开

公共属性

函数获取数据,指定为一个函数处理。

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的

消息头字段或部分,指定为一个向量的一个或多个matlab.net.http.HeaderField对象。

这个属性只是作者使用的子类。MATLAB®设置这个属性在调用提供者的之前完整的方法。对于non-multipart消息,MATLAB初始化该属性的内容Request.Header-任何matlab.net.http.field.GenericFields或empty-valued字段。的内容提供者使用这个属性来添加标题字段描述发送的数据,或将参数添加到已经在消息头字段。在一个委托MultipartProvider,MATLAB初始化这个属性的头字段授权提供者打算插入部分。代表们可以修改或改变这些字段。

从提供者的回来完整的方法,如果这不是一个多部分消息,MATLAB读取这个属性和合并其内容的标题请求。在这个领域的名字不已经出现Request.Header被添加到年底吗Request.Header。如果一个字段有一个的名字这是一样的Request.Header,都有非空的,那么:

  • 如果一个在Request.Header是一个GenericField,然后忽略的

  • 如果一个在Request.Header不是一个GenericField,然后把它换成一个

如果一方或双方有一个空的价值,然后删除Request.Header它不像正常的消息的一部分添加完成。

如果这是一个委托MultipartProvider,那么它的全部内容作为标题的部分。多部分代表不能假设Request.Header包含有关自己的任何字段。提供者可以确定这是一个多部分委托是否通过检查MyDelegator是一个MultipartProvider这个测试,尽管不太可能是必要的。

MATLAB读取这个属性只在从调用提供者的回报完整的方法。修改这个数组一旦MATLAB调用将被忽略开始

类作者应该意识到他们的子类可能添加字段(在他们完整的方法)之前调用完整的超类。最好保护等领域,而不是添加字段具有相同的名称。然而,将一个参数添加到字段是允许的。例如,一个超类可以将一个字符集参数添加到现有的内容类型字段不已经有一个了。

属性:

GetAccess
公共
SetAccess
公共

表明是否强迫分块传输编码,指定为布尔。这个属性是作者感兴趣的子类,只适用于供应商,不是多部分代表。子类集ForceChunked控制内容是否应该发送使用分块传输编码。如果(默认),MATLAB决定是否发送内容分块,根据内容长度是否知道消息是准备发送时:

  • 如果MATLAB知道内容长度(如果消息包含内容长度字段,或者如果这个提供者的expectedContentLengthMATLAB方法返回一个数字),然后决定是否寄分块。

  • 如果MATLAB不知道内容长度(没有在标题和内容长度字段expectedContentLength返回空的),然后用MATLAB总是分块发送的消息。

如果ForceChunked真正的MATLAB发送消息,然后分块不管它知道内容的长度,除非已知的长度小于块大小。如果此属性真正的,那么消息必须不包含内容长度字段,因为HTTP不允许分块消息内容长度字段。然而,你仍然可以返回一个非零值expectedContentLength方法如果你希望MATLAB验证返回预期的数据长度。

当MATLAB选择发送消息分块,每个块的大小等于返回的数据的长度getData

MATLAB调用后读取该值完整的方法,在调用之前开始。它没有设置这个字段。

属性:

GetAccess
公共
SetAccess
公共

请求消息发送,指定为一个matlab.net.http.RequestMessage对象。

作者使用这个属性只有通过子类。的RequestMessage.sendRequestMessage.complete设置该属性的方法RequestMessage在谁的身体这个供应商已经放置,在这个提供程序调用其他方法之前,在添加任何额外的头字段或验证消息。提供者可以检查这个消息,看看原始请求中包含的是什么。

代表们看到这个属性相同的值作为全权代表。内容提供者应该意识到,如果他们的代表,他们不一定是提供整个身体的请求消息,所以他们不应该假设在这个请求头字段相关的数据提供。通常,代表应该忽略这个请求头字段相关的数据,如内容类型。

如果提供者希望添加任何消息头字段,或者修改现有的,它应该这样做的完整的通过将这些字段添加到方法财产。调用者的完整的(RequestMessage或授权提供者)决定如何处理这些字段。RequestMessage.sendRequestMessage.complete总是将这些字段复制到RequestMessage。授权提供者可以复制自己的字段房地产或将它们插入到消息(如的情况MultipartProvider)。有关更多信息,请参见财产。

这个属性是只读的。

属性:

GetAccess 公共
SetAccess matlab.net.http.RequestMessage

受保护的属性

内容提供者这个供应商是委托,作为指定matlab.net.http.io.ContentProvider对象。这个属性被设置在调用提供者(在委托)delegateTo方法来表示当前授权提供者。如果没有当前代表团,值是空的。

完整的方法将此属性设置为空。

属性:

GetAccess
受保护的
SetAccess
受保护的

内容提供者委托给这个供应商,指定为一个matlab.net.http.io.ContentProvider对象。

如果一个内容提供者代表负责发送消息的全部或部分数据到另一个提供者,然后这个属性标识授权提供者委托。例如,一个MultipartProvider代表的部分消息到其他供应商,所以在每个委托它插入一个句柄。否则,MyDelegator是空的。的delegateTo方法设置这个属性的委托。

属性:

GetAccess
受保护的
SetAccess
受保护的

方法

全部展开

更多关于

全部展开

介绍了R2018a