minimalistic-server 0.0.62 → 0.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.mjs +46 -41
  2. package/package.json +1 -1
package/index.mjs CHANGED
@@ -1809,63 +1809,68 @@ export class FileResponse extends Response {
1809
1809
  return !!mimeTypes[extension]?.match(/^(audio|video)\//);
1810
1810
  }
1811
1811
 
1812
- async #getFragmentRequest(headers) {
1813
- let result = this.#fragmentRequestMap.get(headers);
1812
+ #getFragmentRequest(headers) {
1813
+ let promise = this.#fragmentRequestMap.get(headers);
1814
1814
 
1815
- if (result === undefined && headers?.['range']) {
1816
- if (headers['range'].includes(',')) {
1817
- this.#fragmentRequestMap.set(headers, null);
1818
- return null;
1819
- }
1815
+ if (promise === undefined && headers?.['range']) {
1816
+ const getFragmentRequest = async () => {
1817
+ if (headers['range'].includes(',')) {
1818
+ return null;
1819
+ }
1820
1820
 
1821
- const numbers = headers['range']
1822
- .trim()
1823
- .replace('bytes=', '')
1824
- .split(/\b\s*-\s*/gm)
1825
- .map(x => {
1826
- x = +x;
1821
+ const numbers = headers['range']
1822
+ .trim()
1823
+ .replace('bytes=', '')
1824
+ .split(/\b\s*-\s*/gm)
1825
+ .map(x => {
1826
+ if (!x) {
1827
+ return null;
1828
+ }
1827
1829
 
1828
- if (!Number.isSafeInteger(x)) {
1829
- return null;
1830
- }
1830
+ x = +x;
1831
1831
 
1832
- return x;
1833
- });
1832
+ if (!Number.isSafeInteger(x)) {
1833
+ return null;
1834
+ }
1835
+
1836
+ return x;
1837
+ });
1834
1838
 
1835
- const data = await this.#retreiveData();
1839
+ const data = await this.#retreiveData();
1836
1840
 
1837
- if (data.code < 200 || data.code > 299 || typeof data.body !== 'function') {
1838
- this.#fragmentRequestMap.set(headers, null);
1839
- return null;
1840
- }
1841
+ if (data.code < 200 || data.code > 299 || typeof data.body !== 'function') {
1842
+ return null;
1843
+ }
1841
1844
 
1842
- let offset = numbers[0] ?? 0;
1845
+ let offset = numbers[0] ?? 0;
1843
1846
 
1844
- if (offset < 0) {
1845
- offset = data.size + offset;
1846
- }
1847
+ if (offset < 0) {
1848
+ offset = data.size + offset;
1849
+ }
1847
1850
 
1848
- if (offset >= data.size) {
1849
- offset = data.size - 1;
1850
- }
1851
+ if (offset >= data.size) {
1852
+ offset = data.size - 1;
1853
+ }
1851
1854
 
1852
- let size = (numbers[1] ?? (this.#maxFragmentSize - 1 + offset)) - offset + 1;
1855
+ let size = (numbers[1] ?? (this.#maxFragmentSize - 1 + offset)) - offset + 1;
1853
1856
 
1854
- if (size < 0) {
1855
- size = 0;
1856
- }
1857
+ if (size < 0) {
1858
+ size = 0;
1859
+ }
1857
1860
 
1858
- size = Math.min(size, data.size - offset);
1861
+ size = Math.min(size, data.size - offset);
1859
1862
 
1860
- result = {
1861
- offset,
1862
- size,
1863
- };
1863
+ return {
1864
+ offset,
1865
+ size,
1866
+ };
1867
+ }
1864
1868
 
1865
- this.#fragmentRequestMap.set(headers, result);
1869
+ promise = getFragmentRequest();
1870
+ this.#fragmentRequestMap.set(headers, promise);
1866
1871
  }
1867
1872
 
1868
- return result ?? null;
1873
+ return promise ?? null;
1869
1874
  }
1870
1875
 
1871
1876
  async * #getDirectoryStream() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minimalistic-server",
3
- "version": "0.0.62",
3
+ "version": "0.0.64",
4
4
  "engines" : {
5
5
  "npm" : ">=8.6.0",
6
6
  "node" : ">=22.0.0"