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/htslib/hfile_net.c src/htslib/hfile_net.c index d6452d1..ded19fc 100644 --- src/htslib/hfile_net.c +++ src/htslib/hfile_net.c @@ -97,17 +97,18 @@ if (fp->netfp == NULL) { hfile_destroy((hFILE *) fp); return NULL; } fp->base.backend = &net_backend; return &fp->base; } int hfile_plugin_init_net(struct hFILE_plugin *self) { static const struct hFILE_scheme_handler handler = { hopen_net, hfile_always_remote, "knetfile", 0 }; self->name = "knetfile"; hfile_add_scheme_handler("https", &handler); hfile_add_scheme_handler("http", &handler); hfile_add_scheme_handler("ftp", &handler); + hfile_add_scheme_handler("drs", &handler); return 0; }