File tree Expand file tree Collapse file tree 1 file changed +32
-2
lines changed Expand file tree Collapse file tree 1 file changed +32
-2
lines changed Original file line number Diff line number Diff line change @@ -217,11 +217,41 @@ class CoCreateFileSystem {
217
217
218
218
function sendResponse ( src , statusCode , headers ) {
219
219
try {
220
+ let cacheControl ;
221
+ if ( statusCode >= 400 ) {
222
+ cacheControl = "no-cache, no-store, must-revalidate" ;
223
+ } else if (
224
+ file &&
225
+ file [ "cache-control" ] !== undefined &&
226
+ file [ "cache-control" ] !== null
227
+ ) {
228
+ const val = file [ "cache-control" ] ;
229
+ if (
230
+ typeof val === "number" ||
231
+ / ^ \s * \d + \s * $ / . test ( val )
232
+ ) {
233
+ // If it's numeric (number or numeric string) treat it as max-age.
234
+ cacheControl = `public, max-age=${ String (
235
+ val
236
+ ) . trim ( ) } ;`;
237
+ } else {
238
+ // use the value verbatim (allow full Cache-Control strings like "no-cache" or "public, max-age=600")
239
+ cacheControl = val ;
240
+ }
241
+ } else {
242
+ cacheControl =
243
+ organization [ "cache-control" ] ||
244
+ "public, max-age=3600" ;
245
+ }
246
+
247
+ // Always override/set Cache-Control header so the response aligns with the file metadata/defaults
248
+ headers [ "Cache-Control" ] = cacheControl ;
249
+
220
250
if ( src instanceof Uint8Array ) {
221
251
src = Buffer . from ( src ) ;
222
252
} else if ( Buffer . isBuffer ( src ) ) {
223
- console . log ( "buffer" ) ;
224
- return ;
253
+ // Buffer is fine to send — don't bail out here (previous code returned early)
254
+ // keep src as-is
225
255
} else if ( typeof src === "object" ) {
226
256
src = JSON . stringify ( src ) ;
227
257
}
You can’t perform that action at this time.
0 commit comments