From d4a6a226caae6e98311dadd1f2275ec5edc4a365 Mon Sep 17 00:00:00 2001 From: Kiril Kartunov Date: Mon, 13 Oct 2025 15:37:35 +0300 Subject: [PATCH 1/2] clean up request tests --- src/app.module.ts | 2 -- src/shared/global/timingInterceptor.ts | 25 ------------------------- 2 files changed, 27 deletions(-) delete mode 100644 src/shared/global/timingInterceptor.ts diff --git a/src/app.module.ts b/src/app.module.ts index 9214a26..d65b38f 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -6,7 +6,6 @@ import { ToolsModule } from './mcp/tools/tools.module'; import { GlobalProvidersModule } from './shared/global/globalProviders.module'; import { ResourcesModule } from './mcp/resources/resources.module'; import { randomUUID } from 'crypto'; -import { TimingInterceptorMiddleware } from './shared/global/timingInterceptor'; @Module({ imports: [ @@ -29,6 +28,5 @@ import { TimingInterceptorMiddleware } from './shared/global/timingInterceptor'; export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer.apply(TokenValidatorMiddleware).forRoutes('*'); - consumer.apply(TimingInterceptorMiddleware).forRoutes('*'); } } diff --git a/src/shared/global/timingInterceptor.ts b/src/shared/global/timingInterceptor.ts deleted file mode 100644 index a7756ae..0000000 --- a/src/shared/global/timingInterceptor.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Injectable, NestMiddleware, Logger } from '@nestjs/common'; - -import { Request, Response, NextFunction } from 'express'; - -@Injectable() -export class TimingInterceptorMiddleware implements NestMiddleware { - private logger = new Logger('TimingInterceptor'); - - use(request: Request, response: Response, next: NextFunction): void { - const { method, originalUrl: url } = request; - const start = Date.now(); - const mcpMethod = request.body?.method; - - response.on('close', () => { - const { statusCode } = response; - const duration = Date.now() - start; - - this.logger.log( - `${method} ${mcpMethod ? `{${mcpMethod}} ` : ''}${url} ${statusCode} took ${duration}ms` - ); - }); - - next(); - } -} \ No newline at end of file From 2563395d67f8e4d78c41f9603f10a925bda5591a Mon Sep 17 00:00:00 2001 From: Kiril Kartunov Date: Fri, 14 Nov 2025 15:10:29 +0200 Subject: [PATCH 2/2] v6 --- src/shared/topcoder/challenges.service.ts | 2 +- src/shared/topcoder/skills.service.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/shared/topcoder/challenges.service.ts b/src/shared/topcoder/challenges.service.ts index 92489ab..6431530 100644 --- a/src/shared/topcoder/challenges.service.ts +++ b/src/shared/topcoder/challenges.service.ts @@ -18,7 +18,7 @@ export class TopcoderChallengesService { accessToken?: string, ) { // Format the input parameters - const url = new URL(`${TOPCODER_API_BASE_URL}/challenges`); + const url = new URL(`${TOPCODER_API_BASE_URL}/v6/challenges`); Object.entries(queryParams).forEach(([key, value]) => { if (value !== undefined && value !== null) { if (Array.isArray(value)) { diff --git a/src/shared/topcoder/skills.service.ts b/src/shared/topcoder/skills.service.ts index 16d464c..9807702 100644 --- a/src/shared/topcoder/skills.service.ts +++ b/src/shared/topcoder/skills.service.ts @@ -18,7 +18,9 @@ export class TopcoderSkillsService { accessToken?: string, ) { // Format the input parameters - const url = new URL(`${TOPCODER_API_BASE_URL}/standardized-skills/skills`); + const url = new URL( + `${TOPCODER_API_BASE_URL}/v5/standardized-skills/skills`, + ); Object.entries(queryParams).forEach(([key, value]) => { if (value !== undefined && value !== null) { if (Array.isArray(value)) {