httpinfo

package
v0.0.0-...-724bf7d Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2022 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ValidatorAlways = ValidatorFunc(func(*http.Request, *Response) (bool, error) {
	return true, nil
})
View Source
var ValidatorNever = ValidatorFunc(func(*http.Request, *Response) (bool, error) {
	return false, nil
})

Functions

This section is empty.

Types

type BufferController

type BufferController struct {
	NopController
	// contains filtered or unexported fields
}

func NewBufferController

func NewBufferController(req *http.Request, resp *Response) *BufferController

func (*BufferController) BeforeWrite

func (c *BufferController) BeforeWrite()

func (*BufferController) BeforeWriteHeader

func (c *BufferController) BeforeWriteHeader()

func (*BufferController) Discard

func (c *BufferController) Discard()

func (*BufferController) Discarded

func (c *BufferController) Discarded() bool

func (*BufferController) Error

func (c *BufferController) Error() error

func (*BufferController) WithChecker

func (c *BufferController) WithChecker(v Validator) *BufferController

func (*BufferController) WithWriter

func (c *BufferController) WithWriter(w io.Writer) *BufferController

func (*BufferController) Write

func (c *BufferController) Write(data []byte)

type CommitController

type CommitController struct {
	NopController
	// contains filtered or unexported fields
}

func NewCommitController

func NewCommitController(req *http.Request, resp *Response) *CommitController

func (*CommitController) BeforeWrite

func (c *CommitController) BeforeWrite()

func (*CommitController) BeforeWriteHeader

func (c *CommitController) BeforeWriteHeader()

func (*CommitController) WithChecker

func (c *CommitController) WithChecker(v Validator) *CommitController

type Controller

type Controller interface {
	Write([]byte)
	BeforeWriteHeader()
	BeforeWrite()
	Error() error
}
var DefaultController Controller = &NopController{}

type Extractor

type Extractor interface {
	Extract(r *http.Request) ([]byte, error)
}

type ExtractorField

type ExtractorField struct {
	Extractor  Extractor
	Formatters []Formatter
}

func NewExtractorField

func NewExtractorField() *ExtractorField

func (*ExtractorField) IdentifyRequest

func (f *ExtractorField) IdentifyRequest(r *http.Request) (string, error)

func (*ExtractorField) LoadInfo

func (f *ExtractorField) LoadInfo(r *http.Request) ([]byte, bool, error)

func (*ExtractorField) WithExtrator

func (f *ExtractorField) WithExtrator(e Extractor) *ExtractorField

func (*ExtractorField) WithFormatters

func (f *ExtractorField) WithFormatters(formatters ...Formatter) *ExtractorField

type ExtractorFunc

type ExtractorFunc func(r *http.Request) ([]byte, error)

func (ExtractorFunc) Extract

func (f ExtractorFunc) Extract(r *http.Request) ([]byte, error)

type Field

type Field interface {
	LoadInfo(r *http.Request) ([]byte, bool, error)
}

Field request info field. Field is used to load specific information from http request

type FieldFunc

type FieldFunc func(r *http.Request) ([]byte, bool, error)

func (FieldFunc) LoadInfo

func (f FieldFunc) LoadInfo(r *http.Request) ([]byte, bool, error)

type Formatter

type Formatter interface {
	Format([]byte) ([]byte, bool, error)
}

type FormatterFunc

type FormatterFunc func([]byte) ([]byte, bool, error)

func (FormatterFunc) Format

func (f FormatterFunc) Format(data []byte) ([]byte, bool, error)

type Info

type Info []byte

Info http information type

type NopController

type NopController struct {
}

func (*NopController) BeforeWrite

func (p *NopController) BeforeWrite()

func (*NopController) BeforeWriteHeader

func (p *NopController) BeforeWriteHeader()

func (*NopController) Error

func (p *NopController) Error() error

func (*NopController) Write

func (p *NopController) Write([]byte)

type Response

type Response struct {
	StatusCode    int //StatusCode response status code.Default value 200
	ContentLength int //ContentLength response content length.

	Written bool //Content written
	// contains filtered or unexported fields
}

Response standard http response infomation

func NewResponse

func NewResponse() *Response

NewResponse create new response

func (*Response) Autocommit

func (resp *Response) Autocommit() bool

func (*Response) Commit

func (resp *Response) Commit() error

func (*Response) Header

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

Header http response writer header

func (*Response) LastError

func (resp *Response) LastError() error

func (*Response) Locked

func (resp *Response) Locked() bool

func (*Response) SetUncommittedData

func (resp *Response) SetUncommittedData(data []byte)

func (*Response) UncommittedData

func (resp *Response) UncommittedData() []byte

func (*Response) UpdateAutocommit

func (resp *Response) UpdateAutocommit(autocommit bool) bool

func (*Response) UpdateController

func (resp *Response) UpdateController(c Controller) bool

func (*Response) WrapWriter

func (resp *Response) WrapWriter(rw http.ResponseWriter) middleware.ResponseWriter

WrapWriter wrap http response writer

type StringField

type StringField struct {
	Field Field
}

StringField string field

func NewStringField

func NewStringField(f Field) *StringField

func (*StringField) LoadStringInfo

func (f *StringField) LoadStringInfo(r *http.Request) (string, error)

type Validator

type Validator interface {
	Validate(*http.Request, *Response) (bool, error)
}

type ValidatorFunc

type ValidatorFunc func(*http.Request, *Response) (bool, error)

func (ValidatorFunc) Validate

func (f ValidatorFunc) Validate(r *http.Request, resp *Response) (bool, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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