diff mrjunejune/main.c @ 204:e5aed6c36672

[Notes] Added icons and updated styling a bit. Probalby usable now.
author MrJuneJune <me@mrjunejune.com>
date Sun, 15 Feb 2026 11:02:13 -0800
parents b9b184b3303c
children 240337164a80
line wrap: on
line diff
--- a/mrjunejune/main.c	Sun Feb 15 09:13:09 2026 -0800
+++ b/mrjunejune/main.c	Sun Feb 15 11:02:13 2026 -0800
@@ -1195,7 +1195,17 @@
   char s3_key_original[512];
   char s3_key_processed[512];
   snprintf(s3_key_original, sizeof(s3_key_original), "uploads/%s/%s", uuid, filename);
-  snprintf(s3_key_processed, sizeof(s3_key_processed), "uploads/%s/processed.webp", uuid);
+
+  // Only use .webp for images
+  int is_image = (strncmp(content_type, "image/", 6) == 0);
+  if (is_image)
+  {
+    snprintf(s3_key_processed, sizeof(s3_key_processed), "uploads/%s/processed.webp", uuid);
+  }
+  else
+  {
+    s3_key_processed[0] = '\0'; // No processed version for non-images
+  }
 
   // Insert into database
   const char *insert_query =
@@ -1238,11 +1248,23 @@
     return resp;
   }
 
+  // Build public URL using CloudFront or S3
+  char public_url[512];
+  if (g_s3_cloudfront_url[0])
+  {
+    snprintf(public_url, sizeof(public_url), "%s/%s", g_s3_cloudfront_url, s3_key_original);
+  }
+  else
+  {
+    snprintf(public_url, sizeof(public_url), "https://%s.s3.%s.amazonaws.com/%s",
+             g_s3_bucket, g_s3_region, s3_key_original);
+  }
+
   // Build response
-  char *response_body = Dowa_Arena_Allocate(arena, 4096 + strlen(presigned.url));
-  snprintf(response_body, 4096 + strlen(presigned.url),
-           "{\"media_id\":%lld,\"upload_url\":\"%s\",\"expires\":%d}",
-           (long long)media_id, presigned.url, g_s3_url_expires);
+  char *response_body = Dowa_Arena_Allocate(arena, 4096 + strlen(presigned.url) + strlen(public_url));
+  snprintf(response_body, 4096 + strlen(presigned.url) + strlen(public_url),
+           "{\"media_id\":%lld,\"upload_url\":\"%s\",\"public_url\":\"%s\",\"expires\":%d}",
+           (long long)media_id, presigned.url, public_url, g_s3_url_expires);
 
   S3_Presigned_URL_Destroy(&presigned);