Remove thoas/stats fork
This commit is contained in:
parent
1bcb3d8cc2
commit
08d7bb0d08
5 changed files with 160 additions and 36 deletions
59
vendor/github.com/thoas/stats/options.go
generated
vendored
Normal file
59
vendor/github.com/thoas/stats/options.go
generated
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
package stats
|
||||
|
||||
// Options are stats options.
|
||||
type Options struct {
|
||||
statusCode *int
|
||||
size int
|
||||
recorder ResponseWriter
|
||||
}
|
||||
|
||||
// StatusCode returns the response status code.
|
||||
func (o Options) StatusCode() int {
|
||||
if o.recorder != nil {
|
||||
return o.recorder.Status()
|
||||
}
|
||||
|
||||
return *o.statusCode
|
||||
}
|
||||
|
||||
// Size returns the response size.
|
||||
func (o Options) Size() int {
|
||||
if o.recorder != nil {
|
||||
return o.recorder.Size()
|
||||
}
|
||||
|
||||
return o.size
|
||||
}
|
||||
|
||||
// Option represents a stats option.
|
||||
type Option func(*Options)
|
||||
|
||||
// WithStatusCode sets the status code to use in stats.
|
||||
func WithStatusCode(statusCode int) Option {
|
||||
return func(o *Options) {
|
||||
o.statusCode = &statusCode
|
||||
}
|
||||
}
|
||||
|
||||
// WithSize sets the size to use in stats.
|
||||
func WithSize(size int) Option {
|
||||
return func(o *Options) {
|
||||
o.size = size
|
||||
}
|
||||
}
|
||||
|
||||
// WithRecorder sets the recorder to use in stats.
|
||||
func WithRecorder(recorder ResponseWriter) Option {
|
||||
return func(o *Options) {
|
||||
o.recorder = recorder
|
||||
}
|
||||
}
|
||||
|
||||
// newOptions takes functional options and returns options.
|
||||
func newOptions(options ...Option) *Options {
|
||||
opts := &Options{}
|
||||
for _, o := range options {
|
||||
o(opts)
|
||||
}
|
||||
return opts
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue