code: func (ctx *RequestCtx) Err() error {
  	select {
  	case <-ctx.s.done:
  		return context.Canceled
  	default:
  		return nil
  	}
  }
docs: // Err returns a non-nil error value after Done is closed,
  // successive calls to Err return the same error.
  // If Done is not yet closed, Err returns nil.
  // If Done is closed, Err returns a non-nil error explaining why:
  // Canceled if the context was canceled (via server Shutdown)
  // or DeadlineExceeded if the context's deadline passed.