74c99d39c800193f07a881ce98ee4b7065cee6dc
hiram
  Fri Sep 13 10:00:57 2019 -0700
get the warning message out of the warning only message to be used elsewhere and add measureTiming printout to hgGateway refs #23217

diff --git src/hg/inc/botDelay.h src/hg/inc/botDelay.h
index beafb85..c084419 100644
--- src/hg/inc/botDelay.h
+++ src/hg/inc/botDelay.h
@@ -1,30 +1,36 @@
 /* botDelay - contact bottleneck server and sleep 
  * for a little bit if IP address looks like it is
  * being just too demanding. */
 
 /* Copyright (C) 2004 The Regents of the University of California 
  * See README in this or parent directory for licensing information. */
 
 int botDelayTime(char *host, int port, char *ip);
 /* Figure out suggested delay time for ip address in
  * milliseconds. */
 
 void botDelayCgi(char *host, int port, boolean noWarn, double fraction);
 /* Connect with bottleneck server and sleep the
  * amount it suggests for IP address calling CGI script. */
 
+char *botDelayWarningMsg(char *ip, int millis);
+/* return the string for the default botDelay message
+ * not all users of botDelay want the message to go to stderr
+ * return it for their own use case
+ */
+
 void botDelayMessage(char *ip, int millis);
 /* Print out message saying why you are stalled. */
 
 void hgBotDelay();
 /* High level bot delay call - for use with regular webpage output */ 
 
 void hgBotDelayFrac(double fraction);
 /* Like hgBotDelay, but imposes a fraction of the standard access penalty */ 
 
 void hgBotDelayNoWarn();
 /* High level bot delay call without warning - for use with non-webpage output */
 
 void hgBotDelayNoWarnFrac(double fraction);
 /* Like hgBotDelayNoWarn, but imposes a fraction of the standard access penalty */