2a1ae24649f8f1bcc3cce498418597d88fb423e4 max Fri May 31 04:55:37 2024 -0700 moving to jsdelivr as a much faster CDN, we should stop using CDNs. Note that while this is 4.7, the major versions are compatible and the docs say they just added icons. refs #33817 diff --git src/hg/hgTracks/mainMain.c src/hg/hgTracks/mainMain.c index 0aac574..f2d7840 100644 --- src/hg/hgTracks/mainMain.c +++ src/hg/hgTracks/mainMain.c @@ -1,91 +1,91 @@ /* hgTracks - Human Genome browser main cgi script. */ /* Copyright (C) 2013 The Regents of the University of California * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #include "common.h" #include "linefile.h" #include "portable.h" #include "memalloc.h" #include "localmem.h" #include "hCommon.h" #include "obscure.h" #include "dystring.h" #include "hash.h" #include "cheapcgi.h" #include "htmshell.h" #include "web.h" #include "cart.h" #include "hdb.h" #include "hui.h" #include "hgFind.h" #include "hgTracks.h" #include "versionInfo.h" #include "net.h" #include "search.h" #include "imageV2.h" #include "extTools.h" #include "botDelay.h" #include "hgConfig.h" #include <sys/time.h> #include <sys/resource.h> boolean issueBotWarning; long enteredMainTime = 0; int main(int argc, char *argv[]) { enteredMainTime = clock1000(); measureTime(NULL); cfgSetMaxMem(); // read hg.conf and set the maxMem if there issueBotWarning = earlyBotCheck(enteredMainTime, "hgTracks", delayFraction, 0, 0, "html"); browserName = hBrowserName(); organization = "UCSC"; /* Push very early error handling - this is just * for the benefit of the cgiVarExists, which * somehow can't be moved effectively into doMiddle. */ htmlPushEarlyHandlers(); cgiSpoof(&argc, argv); char * link = webTimeStampedLinkToResourceOnFirstCall("HGStyle.css",TRUE); // resource file link if (link) // wrapped in html htmlSetStyle(link); oldVars = hashNew(10); if (cgiVarExists("hgt.redirectTool")) { // user has selected one of the tools in View > In external tools: Do not plot, just redirect. printf("Content-type: text/html\n\n"); errAbortSetDoContentType(FALSE); cart = cartForSession(hUserCookie(), NULL, NULL); extToolRedirect(cart, cgiString("hgt.redirectTool")); } else { httpHeaders = slPairNew("Cache-Control", "no-store"); cartHtmlShell("UCSC Genome Browser v"CGI_VERSION, doMiddle, hUserCookie(), excludeVars, oldVars); } // TODO: better place for this ? -puts("<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css\">\n"); +puts("<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css\">\n"); if (measureTiming) measureTime("Time to write and close cart"); if (measureTiming) { fprintf(stdout, "<span class='timing'>Overall total time: %ld millis<br /></span>\n", clock1000() - enteredMainTime); } cgiExitTime("hgTracks", enteredMainTime); // print out some resource usage stats struct rusage usage; int stat = getrusage(RUSAGE_SELF, &usage); if (stat == 0) // if you change this printf, then increment the number after RESOURCE: fprintf(stderr, "RESOURCE: 1 %ld %ld %ld\n",usage.ru_utime.tv_sec,usage.ru_stime.tv_sec, usage.ru_maxrss); return 0; }