b973e754cafbb53bcb970d65e2c8e0915c6aa454
hiram
Mon Sep 27 14:57:29 2021 -0700
convert hgPhyloPlace to earlyBotExit and remove dead botDelay code refs #28173
diff --git src/hg/lib/botDelay.c src/hg/lib/botDelay.c
index 6086423..e2de763 100644
--- src/hg/lib/botDelay.c
+++ src/hg/lib/botDelay.c
@@ -100,126 +100,59 @@
return user;
}
char *getBotCheckString(char *ip, double fraction)
/* compose "user.ip fraction" string for bot check */
{
char *user = getCookieUser();
char *botCheckString = needMem(256);
if (user)
safef(botCheckString, 256, "%s.%s %f", user, ip, fraction);
else
safef(botCheckString, 256, "%s %f", ip, fraction);
return botCheckString;
}
-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,
- * after imposing the specified fraction of the access penalty. */
-{
-int millis;
-char *ip = getenv("REMOTE_ADDR");
-if (ip != NULL)
- {
- char *botCheckString = getBotCheckString(ip, fraction);
- millis = botDelayTime(host, port, botCheckString);
- freeMem(botCheckString);
- if (millis > 0)
- {
- if (millis > 10000)
- {
- if (millis > 20000)
- botTerminateMessage(ip, millis);
- else
- {
- if (!noWarn)
- botDelayMessage(ip, millis);
- }
- }
- sleep1000(millis);
- }
- }
-}
-
boolean botException()
/* check if the remote ip address is on the exceptions list */
{
char *exceptIps = cfgOption("bottleneck.except");
if (exceptIps)
{
char *remoteAddr = getenv("REMOTE_ADDR");
if (remoteAddr)
{
char *s = exceptIps;
boolean found = FALSE;
while (s && !found)
{
char *e = strchr(s, ' ');
if (e)
*e = 0;
if (sameString(remoteAddr, s))
found = TRUE;
if (e)
*e++ = ' ';
s = e;
}
if (found)
return TRUE;
}
}
return FALSE;
}
-static void hgBotDelayExt(boolean noWarn, double fraction)
-/* High level bot delay call - looks up bottleneck server
- * in hg.conf. */
-{
-if (botException())
- return;
-
-char *host = cfgOption("bottleneck.host");
-char *port = cfgOption("bottleneck.port");
-
-if (host != NULL && port != NULL)
- botDelayCgi(host, atoi(port), noWarn, fraction);
-}
-
-void hgBotDelay()
-/* High level bot delay call - for use with regular webpage output */
-{
-hgBotDelayExt(FALSE, defaultDelayFrac);
-}
-
-void hgBotDelayFrac(double fraction)
-/* Like hgBotDelay, but imposes a fraction of the standard access penalty */
-{
-hgBotDelayExt(FALSE, fraction);
-}
-
-void hgBotDelayNoWarn()
-/* High level bot delay call without warning - for use with non-webpage outputs */
-{
-hgBotDelayExt(TRUE, defaultDelayFrac);
-}
-
-void hgBotDelayNoWarnFrac(double fraction)
-/* Like hgBotDelayNoWarn, but imposes a fraction of the standard access penalty */
-{
-hgBotDelayExt(TRUE, fraction);
-}
-
int hgBotDelayTime()
{
return hgBotDelayTimeFrac(defaultDelayFrac);
}
int hgBotDelayTimeFrac(double fraction)
/* Get suggested delay time from cgi using the standard penalty. */
{
char *ip = getenv("REMOTE_ADDR");
char *host = cfgOption("bottleneck.host");
char *port = cfgOption("bottleneck.port");
int delay = 0;
if (host != NULL && port != NULL && ip != NULL)
{
@@ -303,31 +236,31 @@
"We cannot service requests from your IP address under these "
"conditions. (code %d) "
"To use the genome browser functionality from a Unix command line, "
"please read our FAQ on this topic. "
"For further help on how to access our data from a command line, "
"or if "
"you think this delay is being imposed unfairly, please contact genome-www@soe.ucsc.edu."
,hogHost, asctime(localtime(&now)), botDelayMillis);
puts("