github.com/jfrog/jfrog-cli-platform-services@v1.2.0/commands/templates/BEFORE_UPLOAD.ts_template (about)

     1  import { PlatformContext, BeforeUploadRequest, BeforeUploadResponse, UploadStatus } from 'jfrog-workers';
     2  
     3  export default async (context: PlatformContext, data: BeforeUploadRequest): Promise<BeforeUploadResponse> => {
     4      let status: UploadStatus = UploadStatus.UPLOAD_UNSPECIFIED;
     5  
     6      try {
     7          // The in-browser HTTP client facilitates making calls to the JFrog REST APIs
     8          //To call an external endpoint, use 'await context.clients.axios.get("https://foo.com")'
     9          const res = await context.clients.platformHttp.get('/artifactory/api/v1/system/readiness');
    10  
    11          // You should reach this part if the HTTP request status is successful (HTTP Status 399 or lower)
    12          if (res.status === 200) {
    13              status = UploadStatus.UPLOAD_PROCEED;
    14              console.log("Artifactory ping success");
    15          } else {
    16              status = UploadStatus.UPLOAD_WARN;
    17              console.warn(`Request was successful but returned status other than 200. Status code : ${ res.status }`);
    18          }
    19      } catch(error) {
    20          // The platformHttp client throws PlatformHttpClientError if the HTTP request status is 400 or higher
    21          status = UploadStatus.UPLOAD_STOP;
    22          console.error(`Request failed with status code ${ error.status || '<none>' } caused by : ${ error.message }`)
    23      }
    24  
    25      return {
    26          status,
    27          message: 'Overwritten by worker-service if an error occurs.',
    28          modifiedRepoPath: data.metadata.repoPath
    29      }
    30  }