Documentation ¶
Index ¶
- Constants
- func StatusText(code int) string
- type Client
- type Connection
- type Request
- type Response
- type ServeMux
- type Server
- type ServerSocket
- func (s *ServerSocket) Close()
- func (s *ServerSocket) GetAddr() tcpip.Address
- func (s *ServerSocket) GetNotify() chan struct{}
- func (s *ServerSocket) GetQueue() *waiter.Queue
- func (s *ServerSocket) GetRemoteAddr() *tcpip.FullAddress
- func (s *ServerSocket) Read() ([]byte, error)
- func (s *ServerSocket) Readn(p []byte) (int, error)
- func (s *ServerSocket) Write(buf []byte) error
- type Socket
Constants ¶
View Source
const ( //不识别该 未知方法 HTTP_METHOD_UNKNOWN http_method = -1 //不支持的请求方法 HTTP_METHOD_NOT_SUPPORTED http_method = 0 //GET请求方法 HTTP_METHOD_GET http_method = 1 //HEAD请求方法 HTTP_METHOD_HEAD http_method = 2 )
View Source
const ( HTTP_VERSION_UNKNOWN http_version = iota HTTP_VERSION_09 HTTP_VERSION_10 HTTP_VERSION_11 )
View Source
const ( HTTP_RECV_STATE_WORD1 http_recv_state = iota HTTP_RECV_STATE_WORD2 HTTP_RECV_STATE_WORD3 HTTP_RECV_STATE_SP1 HTTP_RECV_STATE_SP2 HTTP_RECV_STATE_LF HTTP_RECV_STATE_LINE )
View Source
const ( StatusContinue = 100 // RFC 7231, 6.2.1 StatusSwitchingProtocols = 101 // RFC 7231, 6.2.2 StatusProcessing = 102 // RFC 2518, 10.1 StatusOK = 200 // RFC 7231, 6.3.1 StatusCreated = 201 // RFC 7231, 6.3.2 StatusAccepted = 202 // RFC 7231, 6.3.3 StatusNonAuthoritativeInfo = 203 // RFC 7231, 6.3.4 StatusNoContent = 204 // RFC 7231, 6.3.5 StatusResetContent = 205 // RFC 7231, 6.3.6 StatusPartialContent = 206 // RFC 7233, 4.1 StatusMultiStatus = 207 // RFC 4918, 11.1 StatusAlreadyReported = 208 // RFC 5842, 7.1 StatusIMUsed = 226 // RFC 3229, 10.4.1 StatusMultipleChoices = 300 // RFC 7231, 6.4.1 StatusMovedPermanently = 301 // RFC 7231, 6.4.2 StatusFound = 302 // RFC 7231, 6.4.3 StatusSeeOther = 303 // RFC 7231, 6.4.4 StatusNotModified = 304 // RFC 7232, 4.1 StatusUseProxy = 305 // RFC 7231, 6.4.5 StatusTemporaryRedirect = 307 // RFC 7231, 6.4.7 StatusPermanentRedirect = 308 // RFC 7538, 3 StatusBadRequest = 400 // RFC 7231, 6.5.1 StatusPaymentRequired = 402 // RFC 7231, 6.5.2 StatusForbidden = 403 // RFC 7231, 6.5.3 StatusNotFound = 404 // RFC 7231, 6.5.4 StatusMethodNotAllowed = 405 // RFC 7231, 6.5.5 StatusNotAcceptable = 406 // RFC 7231, 6.5.6 StatusProxyAuthRequired = 407 // RFC 7235, 3.2 StatusRequestTimeout = 408 // RFC 7231, 6.5.7 StatusConflict = 409 // RFC 7231, 6.5.8 StatusGone = 410 // RFC 7231, 6.5.9 StatusLengthRequired = 411 // RFC 7231, 6.5.10 StatusPreconditionFailed = 412 // RFC 7232, 4.2 StatusRequestEntityTooLarge = 413 // RFC 7231, 6.5.11 StatusRequestURITooLong = 414 // RFC 7231, 6.5.12 StatusUnsupportedMediaType = 415 // RFC 7231, 6.5.13 StatusRequestedRangeNotSatisfiable = 416 // RFC 7233, 4.4 StatusExpectationFailed = 417 // RFC 7231, 6.5.14 StatusTeapot = 418 // RFC 7168, 2.3.3 StatusMisdirectedRequest = 421 // RFC 7540, 9.1.2 StatusUnprocessableEntity = 422 // RFC 4918, 11.2 StatusLocked = 423 // RFC 4918, 11.3 StatusFailedDependency = 424 // RFC 4918, 11.4 StatusTooEarly = 425 // RFC 8470, 5.2. StatusUpgradeRequired = 426 // RFC 7231, 6.5.15 StatusPreconditionRequired = 428 // RFC 6585, 3 StatusTooManyRequests = 429 // RFC 6585, 4 StatusRequestHeaderFieldsTooLarge = 431 // RFC 6585, 5 StatusInternalServerError = 500 // RFC 7231, 6.6.1 StatusNotImplemented = 501 // RFC 7231, 6.6.2 StatusBadGateway = 502 // RFC 7231, 6.6.3 StatusGatewayTimeout = 504 // RFC 7231, 6.6.5 StatusHTTPVersionNotSupported = 505 // RFC 7231, 6.6.6 StatusVariantAlsoNegotiates = 506 // RFC 2295, 8.1 StatusInsufficientStorage = 507 // RFC 4918, 11.5 StatusLoopDetected = 508 // RFC 5842, 7.2 StatusNotExtended = 510 // RFC 2774, 7 StatusNetworkAuthenticationRequired = 511 // RFC 6585, 6 )
Variables ¶
This section is empty.
Functions ¶
func StatusText ¶
StatusText returns a text for the HTTP status code. It returns the empty string if the code is unknown.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
NewCient new http client NewClient("http://10.0.2.15:8080/")
func (*Client) GetRequest ¶
type Connection ¶
type Connection struct {
// contains filtered or unexported fields
}
type Request ¶
type Request struct {
// contains filtered or unexported fields
}
HTTP请求结构体,包含HTTP方法,版本,URI,HTTP头,内容长
type Response ¶
type Response struct {
// contains filtered or unexported fields
}
HTTP响应结构体,包含内容长度,内容,HTTP头部
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server Http
func NewHTTP ¶
NewHTTP usage:", os.Args[0], "<tap-device> <local-address/mask> <ipv4-address> <port>
func (*Server) HandleFunc ¶
HandleFunc handle pattern
func (*Server) ListenAndServ ¶
func (s *Server) ListenAndServ()
type ServerSocket ¶
type ServerSocket struct {
// contains filtered or unexported fields
}
func NewServerSocket ¶
func NewServerSocket(e tcpip.Endpoint, q *waiter.Queue) *ServerSocket
func (*ServerSocket) GetRemoteAddr ¶
func (s *ServerSocket) GetRemoteAddr() *tcpip.FullAddress
GetRemoteAddr 获取远程客户端ip地址
Click to show internal directories.
Click to hide internal directories.