Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrHTTPVersion = errors.New("http version") ErrHTTPVersionNum = errors.New("http version number") ErrHTTPStatus = errors.New("http status") ErrRspStatusLine = errors.New("http rsp status line") ErrHeaderOverflow = errors.New("http header overflow") ErrNoEndLF = errors.New("http there is no end symbol") ErrChunkSize = errors.New("http wrong chunk size") ErrTrailerPart = errors.New("http trailer-part is not supported") ErrReqMethod = errors.New("http request wrong method") ErrRequestLineCRLF = errors.New("http request line wrong CRLF") )
View Source
var (
MaxHeaderSize int32 = 4096 //默认http header单行最大限制为4k
)
Functions ¶
Types ¶
type Parser ¶
type Parser struct {
MaxHeaderSize int32 //最大头长度
StatusCode uint16 //状态码
// contains filtered or unexported fields
}
http 1.1 or http 1.0解析器
func (*Parser) SetUserData ¶ added in v0.0.3
func (p *Parser) SetUserData(d interface{})
一般情况,可以使用Setting里面函数闭包特性捕获变量 有时候了节约内存,使用普通函数,这时候用户数据可以放到p.userData里面
type Setting ¶
type Setting struct {
// 解析开始
MessageBegin func(*Parser)
// url 回调函数, 只有在request包才会回调
URL func(*Parser, []byte)
// 状态短语
Status func(*Parser, []byte)
// http field 回调函数
HeaderField func(*Parser, []byte)
// http value 回调函数
HeaderValue func(*Parser, []byte)
// http 解析完成之后的回调函数
HeadersComplete func(*Parser)
// body的回调函数
Body func(*Parser, []byte)
// 所有消息成功解析
MessageComplete func(*Parser)
}
查阅#6 看设计变更原因
Click to show internal directories.
Click to hide internal directories.