a9fde73d32daf74780765442de44324061b01d66
markd
Sun Jan 22 22:13:52 2023 -0800
Add URL resolver plugin functionality to allow an external program to convert
cloud URLs (s3:, gs: drs:, or really any non-HTTP RUL) to http/https URLs.
This can include signed URLs. The cloud URL is used to index the UDC cache
rather than the resolved URL. This allows for re-resolving signed URLs
if they time out.
Joint work by Max and Markd
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index fbdafd1..9854137 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -1670,31 +1670,31 @@
char *line;
while (lineFileNext(lf, &line, NULL))
{
printf("
");
char *toPrint = replaceChars(line, "\t", " | ");
printf("%s", toPrint);
printf(" |
\n");
}
printf("\n"); // closes bedExtraTbl
}
static struct slName *findFieldsInExtraFile(char *detailsTableUrl, struct asColumn *col, struct dyString *ds)
// return a list of the ${}-enclosed fields from an extra file
{
struct slName *foundFields = NULL;
-char *table = netReadTextFileIfExists(hReplaceGbdb(detailsTableUrl));
+char *table = udcFileReadAllIfExists(hReplaceGbdb(detailsTableUrl), NULL, 0, NULL);
if (table)
{
for (; col != NULL; col = col->next)
{
char field[256];
safef(field, sizeof(field), "${%s}", col->name);
if (stringIn(field, table))
{
struct slName *replaceField = slNameNew(col->name);
slAddHead(&foundFields, replaceField);
}
}
dyStringPrintf(ds, "%s", table);
if (foundFields)
slReverse(foundFields);