Skip to content

Commit

Permalink
fix: requested changes
Browse files Browse the repository at this point in the history
  • Loading branch information
JoaquinOlivero committed Aug 3, 2024
1 parent 50755d0 commit bb5b51d
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 7 deletions.
51 changes: 45 additions & 6 deletions server/lib/imageproxy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,15 @@ class ImageProxy {
}
} catch (e) {
if (e.code === 'ENOENT') {
logger.error(e.message);
logger.error('Directory not found', {
label: 'Image Cache',
message: e.message,
});
} else {
logger.error('Failed to read directory', {
label: 'Image Cache',
message: e.message,
});
}
}

Expand Down Expand Up @@ -177,12 +185,18 @@ class ImageProxy {

try {
const directory = join(this.getCacheDirectory(), cacheKey);
const files = await promises.readdir(directory);

await promises.rm(directory, { recursive: true });
logger.info(`Cleared ${path} image from cache 'avatar'`, {

logger.info(`Cleared ${files[0]} image from cache 'avatar'`, {
label: 'Image Cache',
});
} catch (e) {
logger.error(e.message, { label: 'Image Cache' });
logger.error('Failed to clear cached image', {
label: 'Image Cache',
message: e.message,
});
}
}

Expand Down Expand Up @@ -236,10 +250,10 @@ class ImageProxy {
const arrayBuffer = await response.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);

const extension = (response.headers.get('content-type') ?? '').replace(
'image/',
''
const extension = this.getMimeExtension(
response.headers.get('content-type') ?? ''
);

let maxAge = Number(
(response.headers.get('cache-control') ?? '0').split('=')[1]
);
Expand Down Expand Up @@ -315,6 +329,31 @@ class ImageProxy {
private getCacheDirectory() {
return path.join(baseCacheDirectory, this.key);
}

private getMimeExtension(mime: string): string {
switch (mime) {
case 'image/png':
return 'png';
case 'image/jpeg':
return 'jpeg';
case 'image/jpg':
return 'jpg';
case 'image/apng':
return 'apng';
case 'image/gif':
return 'gif';
case 'image/vnd.microsoft.icon':
return 'ico';
case 'image/tiff':
return 'tiff';
case 'image/webp':
return 'webp';
default:
break;
}

return '';
}
}

export default ImageProxy;
1 change: 0 additions & 1 deletion src/components/UserProfile/ProfileHeader/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import type { User } from '@app/hooks/useUser';
import { Permission, useUser } from '@app/hooks/useUser';
import defineMessages from '@app/utils/defineMessages';
import { CogIcon, UserIcon } from '@heroicons/react/24/solid';
// import Image from 'next/image';
import Link from 'next/link';
import { useIntl } from 'react-intl';

Expand Down

0 comments on commit bb5b51d

Please sign in to comment.