public class HttpPostRequestDecoder extends java.lang.Object implements InterfaceHttpPostRequestDecoder
destroy()
以释放所有资源。
Modifier and Type | Class and Description |
---|---|
static class |
HttpPostRequestDecoder.EndOfDataDecoderException
即使仍然有数据,身体完全解码也是例外
|
static class |
HttpPostRequestDecoder.ErrorDataDecoderException
解码时发生错误时异常
|
protected static class |
HttpPostRequestDecoder.MultiPartStatus
状态遵循NOTSTARTED PREAMBLE((HEADERDELIMITER配置(字段| FILEUPLOAD))*(HEADERDELIMITER配置混合可执行文件(MIXEDDELIMITER MIXEDDISPOSITION MIXEDFILEUPLOAD)+ MIXEDCLOSEDELIMITER)* CLOSEDELIMITER)+ EPILOGUE首先getStatus为:NOSTARTED内容类型:multipart / form-data,boundary = AaB03x =>标题中的PREAMBLE --AaB03x => HEADERDELIMITER content-disposition:form-data;
name =“field1”=>配置Joe Blow => FIELD --AaB03x => HEADERDELIMITER content-disposition:form-data;
name =“pics”=>处置内容类型:multipart / mixed,边界= BbC04y --BbC04y => MIXEDDELIMITER内容处置:附件;
filename =“file1.txt”=> MIXEDDISPOSITION Content-Type:文本/纯文本... file1.txt的内容... => MIXEDFILEUPLOAD --BbC04y => MIXEDDELIMITER内容处置:文件;
filename =“file2.gif”=> MIXEDDISPOSITION Content-type:image / gif Content-Transfer-Encoding:binary ... file2.gif的内容... => MIXEDFILEUPLOAD --BbC04y-- => MIXEDCLOSEDELIMITER --AaB03x- - => CLOSEDELIMITER一旦找到CLOSEDELIMITER,最后的getStatus就是EPILOGUE
|
static class |
HttpPostRequestDecoder.NotEnoughDataDecoderException
尝试以分块格式从请求中读取数据时出现异常,并且没有足够的数据可用(需要更多块)
|
Constructor and Description |
---|
HttpPostRequestDecoder(HttpDataFactory factory, HttpRequest request) |
HttpPostRequestDecoder(HttpDataFactory factory, HttpRequest request, java.nio.charset.Charset charset) |
HttpPostRequestDecoder(HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
void |
cleanFiles()
清理当前请求的所有HttpDatas(在磁盘上)。
|
InterfaceHttpData |
currentPartialHttpData()
如果当前处于解码状态(表示所有数据尚未处于内),则返回当前的InterfaceHttpData;如果当前没有处于解码状态的InterfaceHttpData(因为尚未解码或当前未解码),则返回null。
|
void |
destroy()
销毁 InterfaceHttpPostRequestDecoder 并释放它的所有资源。
|
InterfaceHttpData |
getBodyHttpData(java.lang.String name)
这个getMethod从body返回具有给定名称的第一个InterfaceHttpData。
|
java.util.List<InterfaceHttpData> |
getBodyHttpDatas()
这个getMethod从body返回一个所有HttpDatas的列表。
|
java.util.List<InterfaceHttpData> |
getBodyHttpDatas(java.lang.String name)
这个getMethod返回一个所有HttpDatas的列表,其中包含正文中给定的名字。
|
int |
getDiscardThreshold()
以字节为单位返回阈值,之后应丢弃缓冲区中的读取数据。
|
protected static java.lang.String[] |
getMultipartDataBoundary(java.lang.String contentType)
如果此请求是多部分请求,请检查ContentType请求。
|
boolean |
hasNext()
如果在当前的getStatus中,则为真,则存在来自Body的可用解码的InterfaceHttpData。
|
boolean |
isMultipart()
如果此请求是多部分请求,则为真
|
static boolean |
isMultipart(HttpRequest request)
检查给定的请求是否是多部分请求
|
InterfaceHttpData |
next()
返回下一个可用的InterfaceHttpData;如果在调用时没有可用的InterfaceHttpData,则返回null。
|
InterfaceHttpPostRequestDecoder |
offer(HttpContent content)
从新块初始化内部
|
void |
removeHttpDataFromClean(InterfaceHttpData data)
从FileUploads列表中删除给定的FileUpload以进行清理
|
void |
setDiscardThreshold(int discardThreshold)
设置缓冲区中的读取字节应该丢弃的字节数量。
|
public HttpPostRequestDecoder(HttpRequest request)
request
- 解码请求
java.lang.NullPointerException
- 请求
HttpPostRequestDecoder.ErrorDataDecoderException
- 如果解码或其他错误时默认字符集错误
public HttpPostRequestDecoder(HttpDataFactory factory, HttpRequest request)
factory
- 用于创建InterfaceHttpData的工厂
request
- 解码请求
java.lang.NullPointerException
- 请求或工厂
HttpPostRequestDecoder.ErrorDataDecoderException
- 如果解码或其他错误时默认字符集错误
public HttpPostRequestDecoder(HttpDataFactory factory, HttpRequest request, java.nio.charset.Charset charset)
factory
- 用于创建InterfaceHttpData的工厂
request
- 解码请求
charset
- 默认使用的字符集
java.lang.NullPointerException
- 用于请求或字符集或工厂
HttpPostRequestDecoder.ErrorDataDecoderException
- 如果解码或其他错误时默认字符集错误
public static boolean isMultipart(HttpRequest request)
protected static java.lang.String[] getMultipartDataBoundary(java.lang.String contentType)
public boolean isMultipart()
InterfaceHttpPostRequestDecoder
isMultipart
在界面
InterfaceHttpPostRequestDecoder
public void setDiscardThreshold(int discardThreshold)
InterfaceHttpPostRequestDecoder
0
来禁用它。
setDiscardThreshold
在界面
InterfaceHttpPostRequestDecoder
public int getDiscardThreshold()
InterfaceHttpPostRequestDecoder
getDiscardThreshold
接口
InterfaceHttpPostRequestDecoder
public java.util.List<InterfaceHttpData> getBodyHttpDatas()
InterfaceHttpPostRequestDecoder
getBodyHttpDatas
,界面
InterfaceHttpPostRequestDecoder
public java.util.List<InterfaceHttpData> getBodyHttpDatas(java.lang.String name)
InterfaceHttpPostRequestDecoder
getBodyHttpDatas
在界面
InterfaceHttpPostRequestDecoder
public InterfaceHttpData getBodyHttpData(java.lang.String name)
InterfaceHttpPostRequestDecoder
getBodyHttpData
在界面
InterfaceHttpPostRequestDecoder
public InterfaceHttpPostRequestDecoder offer(HttpContent content)
InterfaceHttpPostRequestDecoder
offer
接口
InterfaceHttpPostRequestDecoder
content
- 新收到的块
public boolean hasNext()
InterfaceHttpPostRequestDecoder
hasNext
,界面
InterfaceHttpPostRequestDecoder
public InterfaceHttpData next()
InterfaceHttpPostRequestDecoder
ReferenceCounted.release()
,以确保不泄漏任何资源
next
,界面
InterfaceHttpPostRequestDecoder
public InterfaceHttpData currentPartialHttpData()
InterfaceHttpPostRequestDecoder
currentPartialHttpData
在界面
InterfaceHttpPostRequestDecoder
public void destroy()
InterfaceHttpPostRequestDecoder
InterfaceHttpPostRequestDecoder
并释放它的所有资源。
在调用这个方法之后,不可能再对其进行操作。
destroy
,界面
InterfaceHttpPostRequestDecoder
public void cleanFiles()
InterfaceHttpPostRequestDecoder
cleanFiles
,界面
InterfaceHttpPostRequestDecoder
public void removeHttpDataFromClean(InterfaceHttpData data)
InterfaceHttpPostRequestDecoder
removeHttpDataFromClean
接口
InterfaceHttpPostRequestDecoder
Copyright © 2008–2018 The Netty Project. All rights reserved.