diff options
| -rw-r--r-- | packages/core/src/code_assist/server.test.ts | 2 | ||||
| -rw-r--r-- | packages/core/src/code_assist/server.ts | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/packages/core/src/code_assist/server.test.ts b/packages/core/src/code_assist/server.test.ts index bb033163..922d20fb 100644 --- a/packages/core/src/code_assist/server.test.ts +++ b/packages/core/src/code_assist/server.test.ts @@ -45,6 +45,7 @@ describe('CodeAssistServer', () => { expect(server.callEndpoint).toHaveBeenCalledWith( 'generateContent', expect.any(Object), + undefined, ); expect(response.candidates?.[0]?.content?.parts?.[0]?.text).toBe( 'response', @@ -82,6 +83,7 @@ describe('CodeAssistServer', () => { expect(server.streamEndpoint).toHaveBeenCalledWith( 'streamGenerateContent', expect.any(Object), + undefined, ); expect(res.candidates?.[0]?.content?.parts?.[0]?.text).toBe('response'); } diff --git a/packages/core/src/code_assist/server.ts b/packages/core/src/code_assist/server.ts index fc3a0ce2..2c5d6db9 100644 --- a/packages/core/src/code_assist/server.ts +++ b/packages/core/src/code_assist/server.ts @@ -53,6 +53,7 @@ export class CodeAssistServer implements ContentGenerator { const resps = await this.streamEndpoint<CodeAssistResponse>( 'streamGenerateContent', toCodeAssistRequest(req, this.projectId), + req.config?.abortSignal, ); return (async function* (): AsyncGenerator<GenerateContentResponse> { for await (const resp of resps) { @@ -67,6 +68,7 @@ export class CodeAssistServer implements ContentGenerator { const resp = await this.callEndpoint<CodeAssistResponse>( 'generateContent', toCodeAssistRequest(req, this.projectId), + req.config?.abortSignal, ); return fromCodeAsistResponse(resp); } @@ -99,7 +101,11 @@ export class CodeAssistServer implements ContentGenerator { throw Error(); } - async callEndpoint<T>(method: string, req: object): Promise<T> { + async callEndpoint<T>( + method: string, + req: object, + signal?: AbortSignal, + ): Promise<T> { const res = await this.auth.request({ url: `${CODE_ASSIST_ENDPOINT}/${CODE_ASSIST_API_VERSION}:${method}`, method: 'POST', @@ -109,6 +115,7 @@ export class CodeAssistServer implements ContentGenerator { }, responseType: 'json', body: JSON.stringify(req), + signal, }); return res.data as T; } @@ -116,6 +123,7 @@ export class CodeAssistServer implements ContentGenerator { async streamEndpoint<T>( method: string, req: object, + signal?: AbortSignal, ): Promise<AsyncGenerator<T>> { const res = await this.auth.request({ url: `${CODE_ASSIST_ENDPOINT}/${CODE_ASSIST_API_VERSION}:${method}`, @@ -129,6 +137,7 @@ export class CodeAssistServer implements ContentGenerator { }, responseType: 'stream', body: JSON.stringify(req), + signal, }); return (async function* (): AsyncGenerator<T> { |
