shared/cancel/canceler.go
func NewCanceler() *Canceler {
	c := Canceler{}

	c.lock.Lock()
	c.reqChCancel = make(map[*http.Request]chan struct{})
	c.lock.Unlock()

	return &c
}
func NewCanceler() *Canceler {
	c := Canceler{}

	c.lock.Lock()
	c.reqChCancel = make(map[*http.Request]chan struct{})
	c.lock.Unlock()

	return &c
}
// NewCanceler returns a new Canceler struct