Skip to main content

Class: UrlLoader

Defined in: packages/agentos/src/memory/ingestion/UrlLoader.ts:63

An IDocumentLoader that fetches a remote URL and delegates parsing to the appropriate registered loader based on the response Content-Type.

Supported content types

Content-TypeDelegates to
text/htmlHtmlLoader (registry)
application/pdfPdfLoader (registry)
Everything elsePlain UTF-8 text

Example

const registry = new LoaderRegistry();
const urlLoader = new UrlLoader(registry);

// Register so the registry also dispatches URLs via canLoad checks.
// (Optional — UrlLoader can be used standalone too.)

if (urlLoader.canLoad('https://example.com/report.pdf')) {
const doc = await urlLoader.load('https://example.com/report.pdf');
console.log(doc.format); // 'pdf'
}

Implements

Implements

Constructors

Constructor

new UrlLoader(registry): UrlLoader

Defined in: packages/agentos/src/memory/ingestion/UrlLoader.ts:76

Parameters

registry

LoaderRegistry

The LoaderRegistry used to resolve format-specific loaders once the remote content type is known.

Returns

UrlLoader

Properties

supportedExtensions

readonly supportedExtensions: string[] = []

Defined in: packages/agentos/src/memory/ingestion/UrlLoader.ts:70

URLs have no file extension so this array is always empty.

Routing to this loader must be performed via canLoad rather than the registry's extension-based lookup.

Implementation of

IDocumentLoader.supportedExtensions

Methods

canLoad()

canLoad(source): boolean

Defined in: packages/agentos/src/memory/ingestion/UrlLoader.ts:90

Returns true when source is a string that starts with http:// or https://.

Buffer sources are always rejected — raw bytes cannot be a URL.

Parameters

source

Absolute file path, URL string, or raw bytes.

string | Buffer

Returns

boolean

Implementation of

IDocumentLoader.canLoad


load()

load(source, options?): Promise<LoadedDocument>

Defined in: packages/agentos/src/memory/ingestion/UrlLoader.ts:119

Fetch source over HTTP/HTTPS and return a LoadedDocument.

The response body is buffered in memory and then handed to the appropriate sub-loader according to the Content-Type header:

  • text/html → fetched as text, passed to the HTML loader as a Buffer.
  • application/pdf → fetched as bytes, passed to the PDF loader as a Buffer.
  • Anything else → returned as plain text with format 'text' and source metadata set to the URL.

Parameters

source

HTTP/HTTPS URL string.

string | Buffer

options?

LoadOptions

Optional load hints forwarded to the delegated loader.

Returns

Promise<LoadedDocument>

A promise resolving to the LoadedDocument.

Throws

When source is a Buffer (URLs must be strings).

Throws

When the HTTP request fails (network error or non-2xx status).

Implementation of

IDocumentLoader.load