@vltpkg/registry-client/cache-entry
Classes
CacheEntry
Defined in: src/registry-client/src/cache-entry.ts:127
Constructors
new CacheEntry()
new CacheEntry( statusCode, headers, __namedParameters): CacheEntryDefined in: src/registry-client/src/cache-entry.ts:150
Parameters
statusCode
number
headers
Uint8Array<ArrayBufferLike>[]
__namedParameters
CacheEntryOptions = {}
Returns
Accessors
_body
Get Signature
get _body(): Uint8ArrayDefined in: src/registry-client/src/cache-entry.ts:365
Returns the body as a single Uint8Array, concatenating parts if needed.
Returns
Uint8Array
body
Get Signature
get body(): Uint8Array<ArrayBufferLike> | Record<string, any>Defined in: src/registry-client/src/cache-entry.ts:469
Returns
Uint8Array<ArrayBufferLike> | Record<string, any>
cacheControl
Get Signature
get cacheControl(): CacheControlDefined in: src/registry-client/src/cache-entry.ts:265
Returns
CacheControl
contentType
Get Signature
get contentType(): stringDefined in: src/registry-client/src/cache-entry.ts:288
Returns
string
date
Get Signature
get date(): undefined | DateDefined in: src/registry-client/src/cache-entry.ts:246
Returns
undefined | Date
fromCache
Get Signature
get fromCache(): booleanDefined in: src/registry-client/src/cache-entry.ts:343
True when this entry was decoded from the on-disk cache.
Returns
boolean
headers
Get Signature
get headers(): Uint8Array<ArrayBufferLike>[]Defined in: src/registry-client/src/cache-entry.ts:358
Returns
Uint8Array<ArrayBufferLike>[]
headSize
Get Signature
get headSize(): undefined | numberDefined in: src/registry-client/src/cache-entry.ts:351
Byte length of the encoded head (4-byte length prefix + status +
headers). Set when decoded from cache or after encodeHead().
Returns
undefined | number
integrity
Get Signature
get integrity(): undefined | `sha512-${string}`Defined in: src/registry-client/src/cache-entry.ts:428
Returns
undefined | `sha512-${string}`
Set Signature
set integrity(i): voidDefined in: src/registry-client/src/cache-entry.ts:422
Parameters
i
undefined | `sha512-${string}`
Returns
void
integrityActual
Get Signature
get integrityActual(): `sha512-${string}`Defined in: src/registry-client/src/cache-entry.ts:408
Returns
`sha512-${string}`
Set Signature
set integrityActual(i): voidDefined in: src/registry-client/src/cache-entry.ts:417
Parameters
i
`sha512-${string}`
Returns
void
isGzip
Get Signature
get isGzip(): booleanDefined in: src/registry-client/src/cache-entry.ts:491
Returns
boolean
isJSON
Get Signature
get isJSON(): booleanDefined in: src/registry-client/src/cache-entry.ts:474
Returns
boolean
maxAge
Get Signature
get maxAge(): numberDefined in: src/registry-client/src/cache-entry.ts:254
Returns
number
staleWhileRevalidate
Get Signature
get staleWhileRevalidate(): booleanDefined in: src/registry-client/src/cache-entry.ts:273
Returns
boolean
statusCode
Get Signature
get statusCode(): numberDefined in: src/registry-client/src/cache-entry.ts:355
Returns
number
valid
Get Signature
get valid(): booleanDefined in: src/registry-client/src/cache-entry.ts:300
Returns
boolean
Methods
[kCustomInspect]()
kCustomInspect: stringDefined in: src/registry-client/src/cache-entry.ts:237
Parameters
depth
number
options
InspectOptions
Returns
string
addBody()
addBody(b): voidDefined in: src/registry-client/src/cache-entry.ts:328
Add contents to the entry body.
Parameters
b
Uint8Array
Returns
void
buffer()
buffer(): BufferDefined in: src/registry-client/src/cache-entry.ts:459
Return the body of the entry as a Buffer
Returns
Buffer
checkIntegrity()
checkIntegrity(context): this is CacheEntry & { integrity: `sha512-${string}` }Defined in: src/registry-client/src/cache-entry.ts:392
Check that the sri integrity string that was provided to the ctor matches the body that we actually received. This should only be called AFTER the entire body has been completely downloaded.
This method will throw if the integrity values do not match.
Note that this will usually not be true if the value is coming out of the cache, because the cache entries are un-gzipped in place. It should only be called for artifacts that come from an actual http response.
Returns true if anything was actually verified.
Parameters
context
ErrorCauseOptions
= {}
Returns
this is CacheEntry & { integrity: `sha512-${string}` }
encode()
encode(): BufferDefined in: src/registry-client/src/cache-entry.ts:709
Encode the entry as a single Buffer for writing to the cache
Returns
Buffer
encodeHead()
encodeHead(): BufferDefined in: src/registry-client/src/cache-entry.ts:674
Encode status + headers (no body) as they appear at the start of an on-disk cache file.
Returns
Buffer
getHeader()
getHeader(h): undefined | Uint8Array<ArrayBufferLike>Defined in: src/registry-client/src/cache-entry.ts:435
Give it a key, and it’ll return the buffer of that header value
Parameters
h
string
Returns
undefined | Uint8Array<ArrayBufferLike>
getHeaderString()
getHeaderString(h): undefined | stringDefined in: src/registry-client/src/cache-entry.ts:442
Give it a key, and it’ll return the decoded string of that header value
Parameters
h
string
Returns
undefined | string
json()
json(): JSONObjDefined in: src/registry-client/src/cache-entry.ts:563
Parse the entry body as JSON and return the result
Returns
setHeader()
setHeader(h, value): voidDefined in: src/registry-client/src/cache-entry.ts:452
Set a header to a specific value
Parameters
h
string
value
string | Uint8Array<ArrayBufferLike>
Returns
void
text()
text(): stringDefined in: src/registry-client/src/cache-entry.ts:555
Return the body of the entry as utf8 text Automatically unzips if the content is gzip encoded
Returns
string
toJSON()
toJSON(): objectDefined in: src/registry-client/src/cache-entry.ts:197
Returns
object
unzip()
unzip(): booleanDefined in: src/registry-client/src/cache-entry.ts:512
Un-gzip encode the body. Returns true if it was previously gzip (so something was done), otherwise returns false.
Returns
boolean
decode()
static decode(buffer, options): CacheEntryDefined in: src/registry-client/src/cache-entry.ts:626
Pass the contents of a @vltpkg/cache.Cache object as a buffer, and this static method will decode it into a CacheEntry representing the cached response.
Parameters
buffer
Uint8Array
options
CacheEntryOptions = {}
Returns
decodeHead()
static decodeHead(buffer): CacheEntryDefined in: src/registry-client/src/cache-entry.ts:608
Decode only the status/headers from an encoded cache buffer. The body
is not read; headSize records how many bytes the head occupies so a
later encodeHead() can be patched in place.
Parameters
buffer
Uint8Array
Returns
isGzipEntry()
static isGzipEntry(buffer): booleanDefined in: src/registry-client/src/cache-entry.ts:663
Parameters
buffer
Uint8Array
Returns
boolean
Type Aliases
CacheEntryOptions
type CacheEntryOptions = objectDefined in: src/registry-client/src/cache-entry.ts:77
Type declaration
body?
optional body: Uint8Array;An optional body to use.
Adopted as-is (no copy). The caller must not mutate or reuse it. Used
when decoding a cache entry from a buffer. Do not call addBody after
providing this. Worker-thread transfers must copy or structuredClone
first so the cache ArrayBuffer is not detached.
contentLength?
optional contentLength: number;An optional content length of the body to use, if undefined the content-length header will be used.
integrity?
optional integrity: Integrity;The expected integrity value for this response body
stale-while-revalidate-factor?
optional stale-while-revalidate-factor: number;If the server does not serve a stale-while-revalidate value in the
cache-control header, then this multiplier is applied to the
max-age or s-maxage values.
By default, this is 60, so for example a response that is cacheable
for 5 minutes will allow a stale response while revalidating for up to
5 hours.
If the server does provide a stale-while-revalidate value, then
that is always used.
Set to 0 to prevent any stale-while-revalidate behavior unless
explicitly allowed by the server’s cache-control header.
trustIntegrity?
optional trustIntegrity: boolean;Whether to trust the integrity, or calculate the actual value.
This indicates that we just accept whatever the integrity is as the actual integrity for saving back to the cache, because it’s coming directly from the registry that we fetched a packument from, and is an initial gzipped artifact request.
JSONObj
type JSONObj = Record<string, JSONField>Defined in: src/registry-client/src/cache-entry.ts:36