diff --git a/src/components/pages/Publish/FormAlgoPublish.tsx b/src/components/pages/Publish/FormAlgoPublish.tsx index 83f6296df..18af97ab8 100644 --- a/src/components/pages/Publish/FormAlgoPublish.tsx +++ b/src/components/pages/Publish/FormAlgoPublish.tsx @@ -134,7 +134,6 @@ export default function FormPublish(): ReactElement { ) => handleFieldChange(e, field) diff --git a/src/utils/metadata.ts b/src/utils/metadata.ts index dfc97ab33..36e491c4d 100644 --- a/src/utils/metadata.ts +++ b/src/utils/metadata.ts @@ -1,5 +1,6 @@ import axios, { CancelToken, AxiosResponse } from 'axios' import { toast } from 'react-toastify' +import isUrl from 'is-url-superb' import { MetadataMarket, MetadataPublishFormDataset, @@ -157,7 +158,7 @@ async function isDockerHubImageValid( async function is3rdPartyImageValid(imageURL: string): Promise { try { - const response = await axios.options(imageURL) + const response = await axios.head(imageURL) if (!response || response.status !== 200) { toast.error( 'Could not fetch docker image info. Please check URL and try again' @@ -174,19 +175,6 @@ async function is3rdPartyImageValid(imageURL: string): Promise { } } -function isUrl(image: string): boolean { - const pattern = new RegExp( - '^(https?:\\/\\/)?' + - '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + - '((\\d{1,3}\\.){3}\\d{1,3}))' + - '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + - '(\\?[;&a-z\\d%_.~+=-]*)?' + - '(\\#[-a-z\\d_]*)?$', - 'i' - ) - return !!pattern.test(image) -} - export async function validateDockerImage( dockerImage: string, tag: string