func CloseTimeout(t time.Duration) Option {
	return func(options *Options) {
		options.CloseTimeout = t
	}
}
Deadline to wait for closing. Default is 5s
package web
import "time"
type Option func(*Options)
type Options struct {
	ListenIp 		string
	ListenPort 		int
	WriteTimeout	time.Duration
	ReadTimeout		time.Duration
	IdleTimeout 	time.Duration
	CloseTimeout	time.Duration
}
func newOptions(opts ...Option) *Options {
	opt := &Options{
		ListenIp:		"0.0.0.0",
		ListenPort: 	5050,
		WriteTimeout: 	15 * time.Second,
		ReadTimeout: 	15 * time.Second,
		IdleTimeout: 	60 * time.Second,
		CloseTimeout: 	5 * time.Second,
	}
	for _,o := range opts {
		o(opt)
	}
	return opt
}
func ListenIp(ip string) Option {
	return func(options *Options) {
		options.ListenIp = ip
	}
}
func ListenPort(port int) Option {
	return func(options *Options) {
		options.ListenPort = port
	}
}
func WriteTimeout(t time.Duration) Option {
	return func(options *Options) {
		options.WriteTimeout = t
	}
}
func ReadTimeout(t time.Duration) Option {
	return func(options *Options) {
		options.ReadTimeout = t
	}
}
func IdleTimeout(t time.Duration) Option {
	return func(options *Options) {
		options.IdleTimeout = t
	}
}