gkhttp

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2022 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const TimeFormat = "Mon, 02 Jan 2006 15:04:05 GMT"

TimeFormat is the time format to use when generating times in HTTP headers. It is like time.RFC1123 but hard-codes GMT as the time zone. The time being formatted must be in UTC for Format to generate the correct format.

For parsing this time format, see ParseTime.

Variables

This section is empty.

Functions

func FreeBufioReader

func FreeBufioReader(br *bufio.Reader)

FreeBufioReader frees the bufio.Reader.

func FreeBufioWriter

func FreeBufioWriter(bw *bufio.Writer)

FreeBufioWriter frees the bufio.Writer.

func FreeRequest

func FreeRequest(r *http.Request)

FreeRequest frees the request.

func FreeResponse

func FreeResponse(w http.ResponseWriter)

FreeResponse frees the response.

func NewBufioReader

func NewBufioReader(r io.Reader) *bufio.Reader

NewBufioReader returns a new bufio.Reader with r.

func NewBufioWriter

func NewBufioWriter(w io.Writer) *bufio.Writer

NewBufioWriter returns a new bufio.Writer with w.

func NewBufioWriterSize

func NewBufioWriterSize(w io.Writer, size int) *bufio.Writer

NewBufioWriterSize returns a new bufio.Writer with w and size.

func ReadFastRequest

func ReadFastRequest(b *bufio.Reader) (*http.Request, error)

ReadFastRequest is like ReadRequest but with the simple request parser.

func ReadRequest

func ReadRequest(b *bufio.Reader) (*http.Request, error)

ReadRequest reads and parses an incoming request from b.

ReadRequest is a low-level function and should only be used for specialized applications; most code should use the Server to read requests and handle them via the Handler interface. ReadRequest only supports HTTP/1.x requests.

Types

type GkEventHandler

type GkEventHandler struct {
	// contains filtered or unexported fields
}

func (*GkEventHandler) OnAccept

func (that *GkEventHandler) OnAccept(c iface.RawConn) (err error)

func (*GkEventHandler) OnClose

func (that *GkEventHandler) OnClose(c *iface.Context) (err error)

func (*GkEventHandler) OnOpen

func (that *GkEventHandler) OnOpen(c *iface.Context) (data []byte, err error)

func (*GkEventHandler) OnTrack

func (that *GkEventHandler) OnTrack(c *iface.Context) (err error)

type GkGin

type GkGin struct {
	*gin.Engine
	Server *Server
	// contains filtered or unexported fields
}

func NewGin

func NewGin(opts ...*Opts) *GkGin

func (*GkGin) AdoptOneListener

func (that *GkGin) AdoptOneListener(ln net.Listener) (iface.IListener, error)

func (*GkGin) Close

func (that *GkGin) Close()

func (*GkGin) Listen

func (that *GkGin) Listen(network, address string) (iface.IListener, error)

func (*GkGin) Run

func (that *GkGin) Run(addr ...string) (err error)

func (*GkGin) RunListener

func (that *GkGin) RunListener(ln net.Listener) (err error)

func (*GkGin) RunTLS

func (that *GkGin) RunTLS(addr, certFile, keyFile string) (err error)

func (*GkGin) Serve

func (that *GkGin) Serve() error

func (*GkGin) ServeTLS

func (that *GkGin) ServeTLS(certFile, keyFile string) error

func (*GkGin) SetOptions

func (that *GkGin) SetOptions(opts *Opts)

type Opts

type Opts struct {
	*iface.Options
	DoFast bool
}

type Response

type Response struct {
	// contains filtered or unexported fields
}

Response implements the http.ResponseWriter interface.

func NewResponse

func NewResponse(req *http.Request, conn net.Conn, rw *bufio.ReadWriter) *Response

NewResponse returns a new response.

func NewResponseSize

func NewResponseSize(req *http.Request, conn net.Conn, rw *bufio.ReadWriter, size int) *Response

NewResponseSize returns a new response whose buffer has at least the specified size.

func (*Response) FinishRequest

func (w *Response) FinishRequest()

FinishRequest finishes a request.

func (*Response) Flush

func (w *Response) Flush()

Flush implements the http.Flusher interface.

Flush writes any buffered data to the underlying connection.

func (*Response) Header

func (w *Response) Header() http.Header

Header returns the header map that will be sent by WriteHeader.

func (*Response) Hijack

func (w *Response) Hijack() (net.Conn, *bufio.ReadWriter, error)

Hijack implements the http.Hijacker interface.

Hijack lets the caller take over the connection. After a call to Hijack the HTTP server library will not do anything else with the connection.

func (*Response) Write

func (w *Response) Write(data []byte) (n int, err error)

Write writes the data to the connection as part of an HTTP reply.

func (*Response) WriteHeader

func (w *Response) WriteHeader(code int)

WriteHeader sends an HTTP response header with the provided status code.

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewHttpServer

func NewHttpServer(handler http.Handler, opts ...*Opts) *Server

func (*Server) AdoptOneListener

func (that *Server) AdoptOneListener(ln net.Listener) (iface.IListener, error)

func (*Server) Close

func (that *Server) Close()

func (*Server) GetListener

func (that *Server) GetListener() iface.IListener

func (*Server) Listen

func (that *Server) Listen(network, address string) (iface.IListener, error)

func (*Server) ListenAndServe

func (that *Server) ListenAndServe(network, address string, certs ...string) (err error)

ListenAndServe starts a server, parameter certs orders as certFile, keyFile.

func (*Server) Serve

func (that *Server) Serve() error

func (*Server) ServeTLS

func (that *Server) ServeTLS(certFile, keyFile string) (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL