@websolutespa/bom-mixer-image 1.0.7 → 1.0.8

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @websolutespa/bom-mixer-image
2
2
 
3
+ ## 1.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Added: Cache-Control
8
+
3
9
  ## 1.0.7
4
10
 
5
11
  ### Patch Changes
package/dist/index.js CHANGED
@@ -106,11 +106,14 @@ function imageHandler({ domains = [] }) {
106
106
  position: import_sharp.default.strategy.entropy,
107
107
  withoutEnlargement: true
108
108
  }).webp({
109
- quality,
110
- nearLossless: true
109
+ quality
110
+ // nearLossless: true,
111
111
  });
112
112
  resizedImage.toFile(cachedName).then(() => console.log("imageHandler.sharp.cached", cachedName)).catch((error) => console.error("error caching image", cachedName, error));
113
113
  const data = await resizedImage.toBuffer();
114
+ response.setHeader("Content-Type", "image/webp");
115
+ response.setHeader("Expires", new Date(Date.now() + IMAGE_MAX_AGE * 1e3).toUTCString());
116
+ response.setHeader("Cache-Control", `public, max-age=${IMAGE_MAX_AGE}`);
114
117
  return response.end(data);
115
118
  }
116
119
  } catch (error) {
package/dist/index.mjs CHANGED
@@ -70,11 +70,14 @@ function imageHandler({ domains = [] }) {
70
70
  position: sharp.strategy.entropy,
71
71
  withoutEnlargement: true
72
72
  }).webp({
73
- quality,
74
- nearLossless: true
73
+ quality
74
+ // nearLossless: true,
75
75
  });
76
76
  resizedImage.toFile(cachedName).then(() => console.log("imageHandler.sharp.cached", cachedName)).catch((error) => console.error("error caching image", cachedName, error));
77
77
  const data = await resizedImage.toBuffer();
78
+ response.setHeader("Content-Type", "image/webp");
79
+ response.setHeader("Expires", new Date(Date.now() + IMAGE_MAX_AGE * 1e3).toUTCString());
80
+ response.setHeader("Cache-Control", `public, max-age=${IMAGE_MAX_AGE}`);
78
81
  return response.end(data);
79
82
  }
80
83
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@websolutespa/bom-mixer-image",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Mixer Image module of the BOM Repository",
5
5
  "keywords": [
6
6
  "bom",
@@ -77,14 +77,21 @@ export function imageHandler({ domains = [] }: { domains: string[] }) {
77
77
  })
78
78
  .webp({
79
79
  quality,
80
- nearLossless: true,
80
+ // nearLossless: true,
81
81
  });
82
82
  // Saving the resized image to the cache
83
83
  resizedImage.toFile(cachedName)
84
84
  .then(() => console.log('imageHandler.sharp.cached', cachedName))
85
- .catch(error => console.error('error caching image', cachedName, error));
86
- // Converting the resized image to a buffer and sending it in the response
85
+ .catch((error: any) => console.error('error caching image', cachedName, error));
86
+ // Converting the resized image to a buffer
87
87
  const data = await resizedImage.toBuffer();
88
+ // Setting the 'Content-Type' header to 'image/webp'
89
+ response.setHeader('Content-Type', 'image/webp');
90
+ // Setting the 'Expires' header to the current time plus the maximum age of the image (in seconds)
91
+ response.setHeader('Expires', new Date(Date.now() + IMAGE_MAX_AGE * 1000).toUTCString());
92
+ // Setting the 'Cache-Control' header to 'public' and setting 'max-age' to the maximum age of the image
93
+ response.setHeader('Cache-Control', `public, max-age=${IMAGE_MAX_AGE}`);
94
+ // Sending data in the response
88
95
  return response.end(data);
89
96
  }
90
97
  } catch (error) {