code: func ContextCanceller(ctx context.Context, err error) WrapperFunc {
  	return func(rt http.RoundTripper) http.RoundTripper {
  		return &contextCanceller{
  			ctx: ctx,
  			rt:  rt,
  			err: err,
  		}
  	}
  }
docs: // ContextCanceller prevents new requests after the provided context is finished.
  // err is returned when the context is closed, allowing the caller to provide a context
  // appropriate error.