b318572799b35ed9cd6fabdeb247495d72d4da4c chmalee Tue Jun 3 18:07:28 2025 -0700 Make the serverName a required input to hubspace uploads so the hubspace machine can determine where to place uploads. Prevents any current or future username collisions between euro and rr and prevents tusd temp file collisions between the machines, refs #31058 diff --git src/hg/hgHubConnect/hooks/hooklib.h src/hg/hgHubConnect/hooks/hooklib.h index 06eb095a07f..535ad7f51c3 100644 --- src/hg/hgHubConnect/hooks/hooklib.h +++ src/hg/hgHubConnect/hooks/hooklib.h @@ -11,33 +11,38 @@ #define HTTP_NAME "HTTPResponse" #define HTTP_STATUS "StatusCode" #define HTTP_BODY "Body" #define HTTP_HEADER "Header" #define HTTP_CONTENT_TYPE "Content-Type" #define HTTP_CONTENT_TYPE_STR "application/json" char *prettyFileSize(long size); /* Return a string representing the size of a file */ char *encodePath(char *path); /* Return a string where each individual component of a '/' separated * string has been cgiEncoded, but not the '/' chars themselves */ -void fillOutHttpResponseError(); +char *setUploadPath(char *userName, char *fileName, char *parentDir, char *serverName, boolean forceOverwrite); +/* return the path, relative to hg.conf tusdDataDir, where we will store this upload + * the full path would be /tusdDataDir/machineName/userNamePrefix/userName/parentDir/fileName, + * where machineName is optional */ -void fillOutHttpResponseSuccess(); +void fillOutHttpResponseError(struct jsonElement *response); + +void fillOutHttpResponseSuccess(struct jsonElement *response); struct jsonElement *makeDefaultResponse(); /* Create the default response json with some fields pre-filled */ void rejectUpload(struct jsonElement *response, char *msg, ...); /* Set the keys for stopping an upload */ boolean isFileTypeRecognized(char *fileName); /* Return true if this file one of our recognized types */ boolean isExistingHubForUser(char *userName, char *reqHubName); /* Return true if hubName is an existing hub for this user */ char *genomeForHub(char *userName, char *reqHubName); /* Return the genome associated with reqHubName for user */