Documentation ¶
Index ¶
- Constants
- Variables
- func DownloadHTTPFile(url string, saveTo string, timeoutMSec int) (int64, error)
- func GetHTTPFile(url string, timeoutMSec int) ([]byte, error)
- func ParseHTTPRequestLine(line string) (method string, uri string, version string, err error)
- func ParseHTTPStatusLine(line string) (version string, statusCode string, reason string, err error)
- func PostJson(url string, info interface{}, client *http.Client) (*http.Response, error)
- func ReadHTTPHeader(r LineReader) (firstLine string, headers map[string][]string, err error)
- func UnmarshalRequestJsonBody(r *http.Request, info interface{}, keyFieldList ...string) error
- type HTTPMsgCtx
- type HTTPReader
- type HTTPReqMsgCtx
- type HTTPRespMsgCtx
- type LineReader
Constants ¶
View Source
const ( HeaderFieldContentLength = "Content-Length" HeaderFieldContentType = "application/json" )
Variables ¶
View Source
var ( ErrHTTPHeader = errors.New("nazahttp: fxxk") ErrParamMissing = errors.New("nazahttp: param missing") )
Functions ¶
func DownloadHTTPFile ¶
获取http文件保存至本地
func ParseHTTPRequestLine ¶
Request-Line = Method SP URI SP Version CRLF
func ParseHTTPStatusLine ¶
Status-Line = Version SP Status-Code SP Reason CRLF
func ReadHTTPHeader ¶
func ReadHTTPHeader(r LineReader) (firstLine string, headers map[string][]string, err error)
@return firstLine: request的request line或response的status line @return headers: request header fileds的键值对
Types ¶
type HTTPMsgCtx ¶
type HTTPMsgCtx struct { ReqMethodOrRespVersion string ReqURIOrRespStatusCode string ReqVersionOrRespReason string Headers map[string][]string Body []byte }
func ReadHTTPMessage ¶
func ReadHTTPMessage(r HTTPReader) (ctx HTTPMsgCtx, err error)
注意,如果HTTP Header中不包含`Content-Length`,则不会读取HTTP Body,并且err返回值为nil
func (*HTTPMsgCtx) GetHeader ¶
func (r *HTTPMsgCtx) GetHeader(v string) string
func (*HTTPMsgCtx) GetHeaderArr ¶
func (r *HTTPMsgCtx) GetHeaderArr(v string) []string
type HTTPReqMsgCtx ¶
type HTTPReqMsgCtx struct { Method string URI string Version string Headers map[string][]string Body []byte }
func ReadHTTPRequestMessage ¶
func ReadHTTPRequestMessage(r HTTPReader) (ctx HTTPReqMsgCtx, err error)
func (*HTTPReqMsgCtx) GetHeader ¶
func (r *HTTPReqMsgCtx) GetHeader(v string) string
func (*HTTPReqMsgCtx) GetHeaderArr ¶
func (r *HTTPReqMsgCtx) GetHeaderArr(v string) []string
type HTTPRespMsgCtx ¶
type HTTPRespMsgCtx struct { Version string StatusCode string Reason string Headers map[string][]string Body []byte }
func ReadHTTPResponseMessage ¶
func ReadHTTPResponseMessage(r HTTPReader) (ctx HTTPRespMsgCtx, err error)
func (*HTTPRespMsgCtx) GetHeader ¶
func (r *HTTPRespMsgCtx) GetHeader(v string) string
func (*HTTPRespMsgCtx) GetHeaderArr ¶
func (r *HTTPRespMsgCtx) GetHeaderArr(v string) []string
type LineReader ¶
Click to show internal directories.
Click to hide internal directories.