Skip to content

Commit d60fc1b

Browse files
author
Rajat Saxena
committed
cors fixed; signature extraction fixed;
1 parent d0d5542 commit d60fc1b

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

apps/api/src/media/handlers.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { Request } from "express";
1616
import mediaService from "./service";
1717
import { getMediaCount as getCount, getTotalSpace } from "./queries";
1818
import { getSubscriptionStatus } from "@medialit/models";
19+
import { getSignatureFromReq } from "../signature/utils";
1920

2021
function validateUploadOptions(req: Request): Joi.ValidationResult {
2122
const uploadSchema = Joi.object({
@@ -69,7 +70,7 @@ export async function uploadMedia(
6970
access,
7071
caption,
7172
group,
72-
signature: req.query.signature,
73+
signature: getSignatureFromReq(req),
7374
});
7475

7576
const media = await mediaService.getMediaDetails({

apps/api/src/media/routes.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ import {
1616
} from "./handlers";
1717
import signatureMiddleware from "../signature/middleware";
1818
import storage from "./storage-middleware";
19+
import { getSignatureFromReq } from "../signature/utils";
1920

2021
const router = express.Router();
2122

23+
router.options("/create", cors());
2224
router.post(
2325
"/create",
2426
cors(),
@@ -31,10 +33,7 @@ router.post(
3133
},
3234
}),
3335
(req: Request, res: Response, next: (...args: any[]) => void) => {
34-
const signature =
35-
req.query.signature ||
36-
req.headers["x-medialit-signature"] ||
37-
req.headers["X-Medialit-Signature"];
36+
const signature = getSignatureFromReq(req);
3837
if (signature) {
3938
signatureMiddleware(
4039
req as Request & { user: any; apikey: string },

apps/api/src/signature/middleware.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import { Request, Response } from "express";
22
import { PRESIGNED_URL_INVALID } from "../config/strings";
33
import * as preSignedUrlService from "./service";
4+
import { getSignatureFromReq } from "./utils";
45

56
export default async function signature(
67
req: Request & { user?: any; apikey?: string },
78
res: Response,
89
next: (...args: any[]) => void,
910
) {
10-
const signature =
11-
req.query.signature ||
12-
req.headers["x-medialit-signature"] ||
13-
req.headers["X-Medialit-Signature"];
11+
const signature = getSignatureFromReq(req);
1412

1513
const response = await preSignedUrlService.getUserAndGroupFromPresignedUrl(
1614
signature as string,

apps/api/src/signature/utils.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export function getSignatureFromReq(req: any) {
2+
return (
3+
req.query.signature ||
4+
req.headers["x-medialit-signature"] ||
5+
req.headers["X-Medialit-Signature"]
6+
);
7+
}

apps/api/src/tus/routes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ import { server } from "./tus-server";
44

55
const router = express.Router();
66

7-
router.all("/create/resumable{*splat}", cors(), server.handle.bind(server));
7+
router.all("/create/resumable*", cors(), server.handle.bind(server));
88

99
export default router;

0 commit comments

Comments
 (0)