(buffer: Uint8Array, request: ClientRequest)
| 1917 | }; |
| 1918 | |
| 1919 | private async _writeChunksToRequest(buffer: Uint8Array, request: ClientRequest): Promise<void> { |
| 1920 | const chunkSize = 65_536; // 64 KB |
| 1921 | const isStale = () => this._isRequestStale(request); |
| 1922 | |
| 1923 | for (const part of chunk(buffer, chunkSize)) { |
| 1924 | if (isStale()) { |
| 1925 | return; |
| 1926 | } |
| 1927 | |
| 1928 | // eslint-disable-next-line no-await-in-loop |
| 1929 | await new Promise<void>((resolve, reject) => { |
| 1930 | this._writeRequest(part, undefined, error => { |
| 1931 | if (isStale()) { |
| 1932 | resolve(); |
| 1933 | return; |
| 1934 | } |
| 1935 | |
| 1936 | if (error) { |
| 1937 | reject(error); |
| 1938 | } else { |
| 1939 | setImmediate(resolve); |
| 1940 | } |
| 1941 | }, request); |
| 1942 | }); |
| 1943 | } |
| 1944 | } |
| 1945 | |
| 1946 | private _prepareCache(cache: string | StorageAdapter) { |
| 1947 | if (cacheableStore.has(cache)) { |
no test coverage detected