summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-06 21:06:33 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-05-08 11:23:20 -0400
commit9db39d449fc6842a17919a45bb370569f0b50949 (patch)
tree3b6e75bc34cfc3ebebf1832998da5a214b61e297 /packages/backend/src/server/api
parenthandle AxiosErrors without a response (diff)
downloadsharkey-9db39d449fc6842a17919a45bb370569f0b50949.tar.gz
sharkey-9db39d449fc6842a17919a45bb370569f0b50949.tar.bz2
sharkey-9db39d449fc6842a17919a45bb370569f0b50949.zip
more fixes to Mastodon logging
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/mastodon/MastodonApiServerService.ts3
-rw-r--r--packages/backend/src/server/api/mastodon/MastodonLogger.ts24
2 files changed, 8 insertions, 19 deletions
diff --git a/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts b/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts
index 1b0ed2ce4e..478c8f5cf2 100644
--- a/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts
+++ b/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts
@@ -51,6 +51,7 @@ export class MastodonApiServerService {
const data = getErrorData(error);
const status = getErrorStatus(error);
const exception = getErrorException(error);
+
if (exception) {
this.logger.exception(request, exception);
}
@@ -60,7 +61,7 @@ export class MastodonApiServerService {
// Log error responses (including converted JSON exceptions)
fastify.addHook('onSend', (request, reply, payload, done) => {
- if (reply.statusCode >= 400 && reply.statusCode <= 500) {
+ if (reply.statusCode >= 400) {
if (typeof(payload) === 'string' && String(reply.getHeader('content-type')).toLowerCase().includes('application/json')) {
const body = JSON.parse(payload);
const data = getErrorData(body);
diff --git a/packages/backend/src/server/api/mastodon/MastodonLogger.ts b/packages/backend/src/server/api/mastodon/MastodonLogger.ts
index 54966f6236..8581e30a9a 100644
--- a/packages/backend/src/server/api/mastodon/MastodonLogger.ts
+++ b/packages/backend/src/server/api/mastodon/MastodonLogger.ts
@@ -14,10 +14,6 @@ import { getBaseUrl } from '@/server/api/mastodon/MastodonClientService.js';
export class MastodonLogger {
public readonly logger: Logger;
- public get verbose() {
- return this.logger.verbose;
- }
-
constructor(
loggerService: LoggerService,
) {
@@ -65,13 +61,12 @@ export function getErrorException(error: unknown): Error | null {
return error.cause;
}
- // Horrible hack to "recreate" the error without calling a constructor (since we want to re-use the stack).
- return Object.assign(Object.create(Error), {
- name: error.name,
- stack: error.stack,
- message: error.message,
- cause: error.cause,
- });
+ const ex = new Error();
+ ex.name = error.name;
+ ex.stack = error.stack;
+ ex.message = error.message;
+ ex.cause = error.cause;
+ return ex;
}
}
@@ -142,13 +137,6 @@ function unpackAxiosError(error: unknown): unknown {
return error.cause;
}
- if ('code' in error) {
- return {
- code: error.code,
- message: String(error),
- };
- }
-
// No data - this is a fallback to avoid leaking request/response details in the error
return String(error);
}