f029db9758ac06ef95a5b31cc5cd89197620e22d
braney
  Thu Jun 27 11:35:42 2024 -0700
replace /gbdb on GBiB with curated hubs

diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c
index 1b7b404..d12bc55 100644
--- src/hg/lib/hubConnect.c
+++ src/hg/lib/hubConnect.c
@@ -1230,32 +1230,33 @@
 static int lookForCuratedHubs(struct cart *cart, char *db,  char *curatedHubPrefix)
 /* Check to see if db is a curated hub which will require the hub to be attached. 
  * The variable curatedHubPrefix has the release to use (alpha, beta, public, or a user name ) */
 {
 struct sqlConnection *conn = hConnectCentral();
 char query[4096];
 sqlSafef(query, sizeof query, "SELECT nibPath from %s where name = '%s' AND nibPath like '%s%%'",
           dbDbTable(), db, hubCuratedPrefix);
 
 char *dir = cloneString(sqlQuickString(conn, query));
 hDisconnectCentral(&conn);
 
 if (!isEmpty(dir))
     {
     char *path = &dir[sizeof hubCuratedPrefix - 1];
-    char url[4096];
-    safef(url, sizeof url, "%s/%s/hub.txt", path, curatedHubPrefix);
+    char urlBuf[4096];
+    safef(urlBuf, sizeof urlBuf, "%s/%s/hub.txt", path, curatedHubPrefix);
+    char *url = hReplaceGbdb(urlBuf);
 
     struct hubConnectStatus *status = getAndSetHubStatus( cart, url, TRUE);
 
     if (status && isEmpty(status->errorMessage))
         {
         char buffer[4096];
         safef(buffer, sizeof buffer, "hub_%d_%s", status->id, db);
 
         cartSetString(cart, "db", buffer);
         if (cgiOptionalString("db"))
             {
             /* user specified db on URL, we need to decorate and put it back. */
             cgiVarSet("db",  cloneString(buffer));
             }