web / lib/jobs/handlers/url-fetch-job
lib/jobs/handlers/url-fetch-job
URL Fetch Job Handler.
This job handles fetching data from URLs for URL-based and scheduled imports. It downloads the data, saves it to the file system, and updates the import-files record to trigger the existing dataset-detection pipeline.
Interfaces
UrlFetchJobInput
Properties
scheduledImportId?
optionalscheduledImportId:string
sourceUrl
sourceUrl:
string
authConfig?
optionalauthConfig:object
type?
optionaltype:null|"none"|"api-key"|"bearer"|"basic"
apiKey?
optionalapiKey:null|string
API key to include in request header
apiKeyHeader?
optionalapiKeyHeader:null|string
Header name for API key
bearerToken?
optionalbearerToken:null|string
Bearer token for Authorization header
username?
optionalusername:null|string
Username for basic authentication
password?
optionalpassword:null|string
Password for basic authentication
customHeaders?
optionalcustomHeaders:null|string|number|boolean|unknown[] | {[k:string]:unknown; }
Additional custom headers as JSON object
catalogId?
optionalcatalogId:string|number
originalName
originalName:
string
userId?
optionaluserId:string|number
triggeredBy?
optionaltriggeredBy:"schedule"|"webhook"|"manual"
Variables
urlFetchJob
consturlFetchJob:object
Type declaration
slug
slug:
string="url-fetch"
handler()
handler: (
context) =>Promise<{output: {success:boolean;importFileId:string|number;filename:string;contentHash:string;isDuplicate:boolean;contentType:string;fileSize:undefined|number;skippedReason?:string; }; } | {output: {success:boolean;error:string;errorDetails: {name:string;stack:undefined|string; }; }; }>
Parameters
context
Returns
Promise<{ output: { success: boolean; importFileId: string | number; filename: string; contentHash: string; isDuplicate: boolean; contentType: string; fileSize: undefined | number; skippedReason?: string; }; } | { output: { success: boolean; error: string; errorDetails: { name: string; stack: undefined | string; }; }; }>