import { AbortError } from '@libp2p/interface' export class InvalidRangeError extends Error { static name = 'InvalidRangeError' name = 'InvalidRangeError' } export class NoContentError extends Error { static name = 'NoContentError' name = 'NoContentError' } export class SubdomainNotSupportedError extends Error { static name = 'SubdomainNotSupportedError' name = 'SubdomainNotSupportedError' } export class RedirectsFileTooLargeError extends Error { static name = 'RedirectsFileTooLargeError' name = 'RedirectsFileTooLargeError' } export class InvalidRedirectsFileError extends Error { static name = 'InvalidRedirectsFileError' name = 'InvalidRedirectsFileError' } export class InvalidRedirectStatusCodeError extends Error { static name = 'InvalidRedirectStatusCodeError' name = 'InvalidRedirectStatusCodeError' } export class DuplicatePlaceholderError extends Error { static name = 'DuplicatePlaceholderError' name = 'DuplicatePlaceholderError' } export function isAbortWithServerTimingError (obj?: any): obj is AbortError & { serverTiming: string } { return typeof obj?.serverTiming === 'string' && obj?.name === 'AbortError' }