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 }