mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-23 17:33:51 +02:00
Expose trusted cloud import errors
This commit is contained in:
1 parent
259980b232
commit
98b15503e8
2 files changed
+35
-1
No files matched your search
@@ -37,6 +37,31 @@ describe("errorHandler", () => {
|
||||
expect(res.__errorContext?.error?.message).toBe("boom");
|
||||
});
|
||||
|
||||
it("exposes raw 500 messages for trusted Cloud tenant imports", () => {
|
||||
const req = {
|
||||
...makeReq(),
|
||||
method: "POST",
|
||||
originalUrl: "/api/companies/import",
|
||||
actor: {
|
||||
type: "board",
|
||||
userId: "cloud-user",
|
||||
source: "cloud_tenant",
|
||||
},
|
||||
} as unknown as Request;
|
||||
const res = makeRes() as any;
|
||||
const next = vi.fn() as unknown as NextFunction;
|
||||
const err = new Error("portable file references missing upload id");
|
||||
|
||||
errorHandler(err, req, res, next);
|
||||
|
||||
expect(res.status).toHaveBeenCalledWith(500);
|
||||
expect(res.json).toHaveBeenCalledWith({
|
||||
error: "Internal server error",
|
||||
message: "portable file references missing upload id",
|
||||
});
|
||||
expect(res.err).toBe(err);
|
||||
});
|
||||
|
||||
it("attaches HttpError instances for 500 responses", () => {
|
||||
const req = makeReq();
|
||||
const res = makeRes() as any;
|
||||
|
||||
@@ -74,5 +74,14 @@ export function errorHandler(
|
||||
const tc = getTelemetryClient();
|
||||
if (tc) trackErrorHandlerCrash(tc, { errorCode: rootError.name });
|
||||
|
||||
res.status(500).json({ error: "Internal server error" });
|
||||
res.status(500).json({
|
||||
error: "Internal server error",
|
||||
...(shouldExposeTrustedCloudTenantImportError(req) ? { message: rootError.message } : {}),
|
||||
});
|
||||
}
|
||||
|
||||
function shouldExposeTrustedCloudTenantImportError(req: Request) {
|
||||
return req.actor?.source === "cloud_tenant"
|
||||
&& req.method === "POST"
|
||||
&& req.originalUrl.split("?")[0] === "/api/companies/import";
|
||||
}
|
||||
Reference in new issue
Block a user