@deepgram/sdk 5.0.0-beta.3 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +234 -1472
- package/dist/browser/index.global.js +288 -192
- package/dist/cjs/BaseClient.js +3 -3
- package/dist/cjs/CustomClient.js +90 -107
- package/dist/cjs/api/resources/agent/exports.d.ts +3 -0
- package/dist/cjs/api/resources/agent/exports.js +22 -0
- package/dist/cjs/api/resources/agent/resources/v1/client/Client.d.ts +6 -0
- package/dist/cjs/api/resources/agent/resources/v1/client/Client.js +8 -3
- package/dist/cjs/api/resources/agent/resources/v1/client/Socket.d.ts +3 -2
- package/dist/cjs/api/resources/agent/resources/v1/client/Socket.js +4 -0
- package/dist/cjs/api/resources/agent/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/agent/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/agent/resources/v1/resources/settings/exports.d.ts +3 -0
- package/dist/cjs/api/resources/agent/resources/v1/resources/settings/exports.js +22 -0
- package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/exports.d.ts +3 -0
- package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/exports.js +22 -0
- package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.d.ts +2 -0
- package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.js +21 -0
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1ReceiveFunctionCallResponse.d.ts +1 -1
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SendFunctionCallResponse.d.ts +1 -1
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1Settings.d.ts +21 -51
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentListenProvider.d.ts +5 -5
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.d.ts +4 -0
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.js +3 -0
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateSpeak.d.ts +2 -11
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateThink.d.ts +9 -0
- package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateThink.js +3 -0
- package/dist/cjs/api/resources/agent/resources/v1/types/index.d.ts +2 -0
- package/dist/cjs/api/resources/agent/resources/v1/types/index.js +2 -0
- package/dist/cjs/api/resources/auth/exports.d.ts +3 -0
- package/dist/cjs/api/resources/auth/exports.js +22 -0
- package/dist/cjs/api/resources/auth/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/auth/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/auth/resources/v1/resources/tokens/exports.d.ts +2 -0
- package/dist/cjs/api/resources/auth/resources/v1/resources/tokens/exports.js +21 -0
- package/dist/cjs/api/resources/listen/exports.d.ts +3 -0
- package/dist/cjs/api/resources/listen/exports.js +22 -0
- package/dist/cjs/api/resources/listen/resources/v1/client/Client.d.ts +35 -28
- package/dist/cjs/api/resources/listen/resources/v1/client/Client.js +40 -30
- package/dist/cjs/api/resources/listen/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/listen/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/listen/resources/v1/resources/media/client/requests/MediaTranscribeRequestOctetStream.d.ts +0 -3
- package/dist/cjs/api/resources/listen/resources/v1/resources/media/exports.d.ts +2 -0
- package/dist/cjs/api/resources/listen/resources/v1/resources/media/exports.js +21 -0
- package/dist/cjs/api/resources/listen/resources/v1/types/ListenV1Results.d.ts +8 -8
- package/dist/cjs/api/resources/listen/resources/v2/client/Client.d.ts +16 -9
- package/dist/cjs/api/resources/listen/resources/v2/client/Client.js +29 -11
- package/dist/cjs/api/resources/listen/resources/v2/client/Socket.d.ts +3 -2
- package/dist/cjs/api/resources/listen/resources/v2/client/Socket.js +4 -0
- package/dist/cjs/api/resources/listen/resources/v2/exports.d.ts +2 -0
- package/dist/cjs/api/resources/listen/resources/v2/exports.js +21 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2Configure.d.ts +22 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2Configure.js +3 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.d.ts +12 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.js +3 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.d.ts +30 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.js +3 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/index.d.ts +3 -0
- package/dist/cjs/api/resources/listen/resources/v2/types/index.js +3 -0
- package/dist/cjs/api/resources/manage/exports.d.ts +3 -0
- package/dist/cjs/api/resources/manage/exports.js +22 -0
- package/dist/cjs/api/resources/manage/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/manage/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/models/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/models/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/exports.d.ts +3 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/exports.js +22 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.d.ts +3 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.js +22 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/exports.d.ts +3 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/exports.js +22 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/models/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/models/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.js +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.d.ts +3 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.js +22 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.js +21 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.d.ts +2 -0
- package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.js +21 -0
- package/dist/cjs/api/resources/read/exports.d.ts +3 -0
- package/dist/cjs/api/resources/read/exports.js +22 -0
- package/dist/cjs/api/resources/read/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/read/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/read/resources/v1/resources/text/exports.d.ts +2 -0
- package/dist/cjs/api/resources/read/resources/v1/resources/text/exports.js +21 -0
- package/dist/cjs/api/resources/selfHosted/exports.d.ts +3 -0
- package/dist/cjs/api/resources/selfHosted/exports.js +22 -0
- package/dist/cjs/api/resources/selfHosted/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/selfHosted/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.d.ts +2 -0
- package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.js +21 -0
- package/dist/cjs/api/resources/speak/exports.d.ts +3 -0
- package/dist/cjs/api/resources/speak/exports.js +22 -0
- package/dist/cjs/api/resources/speak/resources/v1/client/Client.d.ts +11 -4
- package/dist/cjs/api/resources/speak/resources/v1/client/Client.js +13 -7
- package/dist/cjs/api/resources/speak/resources/v1/exports.d.ts +3 -0
- package/dist/cjs/api/resources/speak/resources/v1/exports.js +22 -0
- package/dist/cjs/api/resources/speak/resources/v1/resources/audio/client/Client.d.ts +1 -0
- package/dist/cjs/api/resources/speak/resources/v1/resources/audio/client/Client.js +1 -0
- package/dist/cjs/api/resources/speak/resources/v1/resources/audio/exports.d.ts +2 -0
- package/dist/cjs/api/resources/speak/resources/v1/resources/audio/exports.js +21 -0
- package/dist/cjs/api/resources/speak/resources/v1/types/SpeakV1Metadata.d.ts +4 -2
- package/dist/cjs/api/types/Anthropic.d.ts +2 -2
- package/dist/cjs/api/types/AwsBedrockThinkProvider.d.ts +7 -7
- package/dist/cjs/api/types/AwsPollySpeakProvider.d.ts +2 -2
- package/dist/cjs/api/types/BillingBreakdownV1Response.d.ts +6 -6
- package/dist/cjs/api/types/Cartesia.d.ts +2 -2
- package/dist/cjs/api/types/CreateKeyV1Response.d.ts +6 -6
- package/dist/cjs/api/types/CreateProjectDistributionCredentialsV1Response.d.ts +1 -1
- package/dist/cjs/api/types/CreateProjectInviteV1Response.d.ts +1 -1
- package/dist/cjs/api/types/Deepgram.d.ts +1 -1
- package/dist/cjs/api/types/DeleteProjectInviteV1Response.d.ts +1 -1
- package/dist/cjs/api/types/DeleteProjectKeyV1Response.d.ts +1 -1
- package/dist/cjs/api/types/DeleteProjectMemberV1Response.d.ts +1 -1
- package/dist/cjs/api/types/DeleteProjectV1Response.d.ts +1 -1
- package/dist/cjs/api/types/ElevenLabsSpeakProvider.d.ts +3 -3
- package/dist/cjs/api/types/ErrorResponseLegacyError.d.ts +3 -3
- package/dist/cjs/api/types/ErrorResponseModernError.d.ts +4 -4
- package/dist/cjs/api/types/GetProjectBalanceV1Response.d.ts +4 -4
- package/dist/cjs/api/types/GetProjectDistributionCredentialsV1Response.d.ts +1 -1
- package/dist/cjs/api/types/GetProjectKeyV1Response.d.ts +13 -13
- package/dist/cjs/api/types/GetProjectRequestV1Response.d.ts +1 -1
- package/dist/cjs/api/types/GetProjectV1Response.d.ts +3 -3
- package/dist/cjs/api/types/Google.d.ts +2 -2
- package/dist/cjs/api/types/GrantV1Response.d.ts +1 -1
- package/dist/cjs/api/types/Groq.d.ts +2 -2
- package/dist/cjs/api/types/LeaveProjectV1Response.d.ts +1 -1
- package/dist/cjs/api/types/ListBillingFieldsV1Response.d.ts +4 -4
- package/dist/cjs/api/types/ListModelsV1Response.d.ts +2 -2
- package/dist/cjs/api/types/ListModelsV1ResponseSttModels.d.ts +9 -9
- package/dist/cjs/api/types/ListModelsV1ResponseTtsModels.d.ts +14 -14
- package/dist/cjs/api/types/ListProjectBalancesV1Response.d.ts +5 -5
- package/dist/cjs/api/types/ListProjectDistributionCredentialsV1Response.d.ts +2 -2
- package/dist/cjs/api/types/ListProjectInvitesV1Response.d.ts +3 -3
- package/dist/cjs/api/types/ListProjectKeysV1Response.d.ts +9 -9
- package/dist/cjs/api/types/ListProjectMemberScopesV1Response.d.ts +1 -1
- package/dist/cjs/api/types/ListProjectMembersV1Response.d.ts +3 -3
- package/dist/cjs/api/types/ListProjectPurchasesV1Response.d.ts +7 -7
- package/dist/cjs/api/types/ListProjectRequestsV1Response.d.ts +3 -3
- package/dist/cjs/api/types/ListProjectsV1Response.d.ts +3 -3
- package/dist/cjs/api/types/ListenV1ResponseMetadata.d.ts +18 -18
- package/dist/cjs/api/types/ListenV1ResponseResults.d.ts +5 -5
- package/dist/cjs/api/types/ListenV1ResponseResultsChannelsItem.d.ts +43 -43
- package/dist/cjs/api/types/ListenV1ResponseResultsSummary.d.ts +2 -2
- package/dist/cjs/api/types/ListenV1ResponseResultsUtterancesItem.d.ts +15 -15
- package/dist/cjs/api/types/OpenAiSpeakProvider.d.ts +27 -0
- package/dist/cjs/api/types/OpenAiSpeakProvider.js +21 -0
- package/dist/cjs/api/types/OpenAiThinkProvider.d.ts +23 -0
- package/dist/cjs/api/types/OpenAiThinkProvider.js +18 -0
- package/dist/cjs/api/types/ProjectRequestResponse.d.ts +9 -9
- package/dist/cjs/api/types/ReadV1ResponseMetadata.d.ts +20 -20
- package/dist/cjs/api/types/ReadV1ResponseResults.d.ts +4 -4
- package/dist/cjs/api/types/ReadV1ResponseResultsSummary.d.ts +3 -3
- package/dist/cjs/api/types/SharedIntents.d.ts +9 -9
- package/dist/cjs/api/types/SharedSentiments.d.ts +9 -9
- package/dist/cjs/api/types/SharedTopics.d.ts +9 -9
- package/dist/cjs/api/types/SpeakSettingsV1.d.ts +3 -3
- package/dist/cjs/api/types/SpeakSettingsV1Provider.d.ts +1 -1
- package/dist/cjs/api/types/ThinkSettingsV1.d.ts +15 -15
- package/dist/cjs/api/types/ThinkSettingsV1Provider.d.ts +19 -0
- package/dist/cjs/api/types/ThinkSettingsV1Provider.js +3 -0
- package/dist/cjs/api/types/UpdateProjectMemberScopesV1Response.d.ts +1 -1
- package/dist/cjs/api/types/UpdateProjectV1Response.d.ts +1 -1
- package/dist/cjs/api/types/UsageBreakdownV1Response.d.ts +9 -9
- package/dist/cjs/api/types/UsageFieldsV1Response.d.ts +8 -8
- package/dist/cjs/api/types/UsageV1Response.d.ts +5 -5
- package/dist/cjs/api/types/index.d.ts +3 -1
- package/dist/cjs/api/types/index.js +3 -1
- package/dist/cjs/core/fetcher/Fetcher.js +8 -2
- package/dist/cjs/core/fetcher/makeRequest.d.ts +6 -1
- package/dist/cjs/core/fetcher/makeRequest.js +30 -9
- package/dist/cjs/core/runtime/runtime.js +8 -7
- package/dist/cjs/core/websocket/ws.d.ts +4 -1
- package/dist/cjs/core/websocket/ws.js +32 -2
- package/dist/cjs/environments.d.ts +3 -3
- package/dist/cjs/environments.js +2 -2
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/middleware/adapters/express.d.ts +103 -0
- package/dist/cjs/middleware/adapters/express.js +141 -0
- package/dist/cjs/middleware/adapters/fastify.d.ts +32 -0
- package/dist/cjs/middleware/adapters/fastify.js +194 -0
- package/dist/cjs/middleware/adapters/http.d.ts +153 -0
- package/dist/cjs/middleware/adapters/http.js +192 -0
- package/dist/cjs/middleware/core/ProxyHandler.d.ts +35 -0
- package/dist/cjs/middleware/core/ProxyHandler.js +225 -0
- package/dist/cjs/middleware/core/TokenManager.d.ts +29 -0
- package/dist/cjs/middleware/core/TokenManager.js +110 -0
- package/dist/cjs/middleware/core/WebSocketProxy.d.ts +32 -0
- package/dist/cjs/middleware/core/WebSocketProxy.js +169 -0
- package/dist/cjs/middleware/core/jwt.d.ts +71 -0
- package/dist/cjs/middleware/core/jwt.js +136 -0
- package/dist/cjs/middleware/core/types.d.ts +37 -0
- package/dist/cjs/middleware/core/types.js +2 -0
- package/dist/cjs/middleware/index.d.ts +55 -0
- package/dist/cjs/middleware/index.js +75 -0
- package/dist/cjs/tests/manual/test-custom-baseurl.js +124 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +3 -3
- package/dist/esm/CustomClient.mjs +90 -107
- package/dist/esm/api/resources/agent/exports.d.mts +3 -0
- package/dist/esm/api/resources/agent/exports.mjs +4 -0
- package/dist/esm/api/resources/agent/resources/v1/client/Client.d.mts +6 -0
- package/dist/esm/api/resources/agent/resources/v1/client/Client.mjs +8 -3
- package/dist/esm/api/resources/agent/resources/v1/client/Socket.d.mts +3 -2
- package/dist/esm/api/resources/agent/resources/v1/client/Socket.mjs +4 -0
- package/dist/esm/api/resources/agent/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/agent/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/agent/resources/v1/resources/settings/exports.d.mts +3 -0
- package/dist/esm/api/resources/agent/resources/v1/resources/settings/exports.mjs +4 -0
- package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/exports.d.mts +3 -0
- package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/exports.mjs +4 -0
- package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.d.mts +2 -0
- package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.mjs +3 -0
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1ReceiveFunctionCallResponse.d.mts +1 -1
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SendFunctionCallResponse.d.mts +1 -1
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1Settings.d.mts +21 -51
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentListenProvider.d.mts +5 -5
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.d.mts +4 -0
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.mjs +2 -0
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateSpeak.d.mts +2 -11
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateThink.d.mts +9 -0
- package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateThink.mjs +2 -0
- package/dist/esm/api/resources/agent/resources/v1/types/index.d.mts +2 -0
- package/dist/esm/api/resources/agent/resources/v1/types/index.mjs +2 -0
- package/dist/esm/api/resources/auth/exports.d.mts +3 -0
- package/dist/esm/api/resources/auth/exports.mjs +4 -0
- package/dist/esm/api/resources/auth/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/auth/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/auth/resources/v1/resources/tokens/exports.d.mts +2 -0
- package/dist/esm/api/resources/auth/resources/v1/resources/tokens/exports.mjs +3 -0
- package/dist/esm/api/resources/listen/exports.d.mts +3 -0
- package/dist/esm/api/resources/listen/exports.mjs +4 -0
- package/dist/esm/api/resources/listen/resources/v1/client/Client.d.mts +35 -28
- package/dist/esm/api/resources/listen/resources/v1/client/Client.mjs +40 -30
- package/dist/esm/api/resources/listen/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/listen/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/listen/resources/v1/resources/media/client/requests/MediaTranscribeRequestOctetStream.d.mts +0 -3
- package/dist/esm/api/resources/listen/resources/v1/resources/media/exports.d.mts +2 -0
- package/dist/esm/api/resources/listen/resources/v1/resources/media/exports.mjs +3 -0
- package/dist/esm/api/resources/listen/resources/v1/types/ListenV1Results.d.mts +8 -8
- package/dist/esm/api/resources/listen/resources/v2/client/Client.d.mts +16 -9
- package/dist/esm/api/resources/listen/resources/v2/client/Client.mjs +29 -11
- package/dist/esm/api/resources/listen/resources/v2/client/Socket.d.mts +3 -2
- package/dist/esm/api/resources/listen/resources/v2/client/Socket.mjs +4 -0
- package/dist/esm/api/resources/listen/resources/v2/exports.d.mts +2 -0
- package/dist/esm/api/resources/listen/resources/v2/exports.mjs +3 -0
- package/dist/esm/api/resources/listen/resources/v2/types/ListenV2Configure.d.mts +22 -0
- package/dist/esm/api/resources/listen/resources/v2/types/ListenV2Configure.mjs +2 -0
- package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.d.mts +12 -0
- package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.mjs +2 -0
- package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.d.mts +30 -0
- package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.mjs +2 -0
- package/dist/esm/api/resources/listen/resources/v2/types/index.d.mts +3 -0
- package/dist/esm/api/resources/listen/resources/v2/types/index.mjs +3 -0
- package/dist/esm/api/resources/manage/exports.d.mts +3 -0
- package/dist/esm/api/resources/manage/exports.mjs +4 -0
- package/dist/esm/api/resources/manage/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/manage/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/models/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/models/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/exports.d.mts +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/exports.mjs +4 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.d.mts +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.mjs +4 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/exports.d.mts +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/exports.mjs +4 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/models/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/models/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.mjs +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.d.mts +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.mjs +4 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.mjs +3 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.d.mts +2 -0
- package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.mjs +3 -0
- package/dist/esm/api/resources/read/exports.d.mts +3 -0
- package/dist/esm/api/resources/read/exports.mjs +4 -0
- package/dist/esm/api/resources/read/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/read/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/read/resources/v1/resources/text/exports.d.mts +2 -0
- package/dist/esm/api/resources/read/resources/v1/resources/text/exports.mjs +3 -0
- package/dist/esm/api/resources/selfHosted/exports.d.mts +3 -0
- package/dist/esm/api/resources/selfHosted/exports.mjs +4 -0
- package/dist/esm/api/resources/selfHosted/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/selfHosted/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.d.mts +2 -0
- package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.mjs +3 -0
- package/dist/esm/api/resources/speak/exports.d.mts +3 -0
- package/dist/esm/api/resources/speak/exports.mjs +4 -0
- package/dist/esm/api/resources/speak/resources/v1/client/Client.d.mts +11 -4
- package/dist/esm/api/resources/speak/resources/v1/client/Client.mjs +13 -7
- package/dist/esm/api/resources/speak/resources/v1/exports.d.mts +3 -0
- package/dist/esm/api/resources/speak/resources/v1/exports.mjs +4 -0
- package/dist/esm/api/resources/speak/resources/v1/resources/audio/client/Client.d.mts +1 -0
- package/dist/esm/api/resources/speak/resources/v1/resources/audio/client/Client.mjs +1 -0
- package/dist/esm/api/resources/speak/resources/v1/resources/audio/exports.d.mts +2 -0
- package/dist/esm/api/resources/speak/resources/v1/resources/audio/exports.mjs +3 -0
- package/dist/esm/api/resources/speak/resources/v1/types/SpeakV1Metadata.d.mts +4 -2
- package/dist/esm/api/types/Anthropic.d.mts +2 -2
- package/dist/esm/api/types/AwsBedrockThinkProvider.d.mts +7 -7
- package/dist/esm/api/types/AwsPollySpeakProvider.d.mts +2 -2
- package/dist/esm/api/types/BillingBreakdownV1Response.d.mts +6 -6
- package/dist/esm/api/types/Cartesia.d.mts +2 -2
- package/dist/esm/api/types/CreateKeyV1Response.d.mts +6 -6
- package/dist/esm/api/types/CreateProjectDistributionCredentialsV1Response.d.mts +1 -1
- package/dist/esm/api/types/CreateProjectInviteV1Response.d.mts +1 -1
- package/dist/esm/api/types/Deepgram.d.mts +1 -1
- package/dist/esm/api/types/DeleteProjectInviteV1Response.d.mts +1 -1
- package/dist/esm/api/types/DeleteProjectKeyV1Response.d.mts +1 -1
- package/dist/esm/api/types/DeleteProjectMemberV1Response.d.mts +1 -1
- package/dist/esm/api/types/DeleteProjectV1Response.d.mts +1 -1
- package/dist/esm/api/types/ElevenLabsSpeakProvider.d.mts +3 -3
- package/dist/esm/api/types/ErrorResponseLegacyError.d.mts +3 -3
- package/dist/esm/api/types/ErrorResponseModernError.d.mts +4 -4
- package/dist/esm/api/types/GetProjectBalanceV1Response.d.mts +4 -4
- package/dist/esm/api/types/GetProjectDistributionCredentialsV1Response.d.mts +1 -1
- package/dist/esm/api/types/GetProjectKeyV1Response.d.mts +13 -13
- package/dist/esm/api/types/GetProjectRequestV1Response.d.mts +1 -1
- package/dist/esm/api/types/GetProjectV1Response.d.mts +3 -3
- package/dist/esm/api/types/Google.d.mts +2 -2
- package/dist/esm/api/types/GrantV1Response.d.mts +1 -1
- package/dist/esm/api/types/Groq.d.mts +2 -2
- package/dist/esm/api/types/LeaveProjectV1Response.d.mts +1 -1
- package/dist/esm/api/types/ListBillingFieldsV1Response.d.mts +4 -4
- package/dist/esm/api/types/ListModelsV1Response.d.mts +2 -2
- package/dist/esm/api/types/ListModelsV1ResponseSttModels.d.mts +9 -9
- package/dist/esm/api/types/ListModelsV1ResponseTtsModels.d.mts +14 -14
- package/dist/esm/api/types/ListProjectBalancesV1Response.d.mts +5 -5
- package/dist/esm/api/types/ListProjectDistributionCredentialsV1Response.d.mts +2 -2
- package/dist/esm/api/types/ListProjectInvitesV1Response.d.mts +3 -3
- package/dist/esm/api/types/ListProjectKeysV1Response.d.mts +9 -9
- package/dist/esm/api/types/ListProjectMemberScopesV1Response.d.mts +1 -1
- package/dist/esm/api/types/ListProjectMembersV1Response.d.mts +3 -3
- package/dist/esm/api/types/ListProjectPurchasesV1Response.d.mts +7 -7
- package/dist/esm/api/types/ListProjectRequestsV1Response.d.mts +3 -3
- package/dist/esm/api/types/ListProjectsV1Response.d.mts +3 -3
- package/dist/esm/api/types/ListenV1ResponseMetadata.d.mts +18 -18
- package/dist/esm/api/types/ListenV1ResponseResults.d.mts +5 -5
- package/dist/esm/api/types/ListenV1ResponseResultsChannelsItem.d.mts +43 -43
- package/dist/esm/api/types/ListenV1ResponseResultsSummary.d.mts +2 -2
- package/dist/esm/api/types/ListenV1ResponseResultsUtterancesItem.d.mts +15 -15
- package/dist/esm/api/types/OpenAiSpeakProvider.d.mts +27 -0
- package/dist/esm/api/types/OpenAiSpeakProvider.mjs +18 -0
- package/dist/esm/api/types/OpenAiThinkProvider.d.mts +23 -0
- package/dist/esm/api/types/OpenAiThinkProvider.mjs +15 -0
- package/dist/esm/api/types/ProjectRequestResponse.d.mts +9 -9
- package/dist/esm/api/types/ReadV1ResponseMetadata.d.mts +20 -20
- package/dist/esm/api/types/ReadV1ResponseResults.d.mts +4 -4
- package/dist/esm/api/types/ReadV1ResponseResultsSummary.d.mts +3 -3
- package/dist/esm/api/types/SharedIntents.d.mts +9 -9
- package/dist/esm/api/types/SharedSentiments.d.mts +9 -9
- package/dist/esm/api/types/SharedTopics.d.mts +9 -9
- package/dist/esm/api/types/SpeakSettingsV1.d.mts +3 -3
- package/dist/esm/api/types/SpeakSettingsV1Provider.d.mts +1 -1
- package/dist/esm/api/types/ThinkSettingsV1.d.mts +15 -15
- package/dist/esm/api/types/ThinkSettingsV1Provider.d.mts +19 -0
- package/dist/esm/api/types/ThinkSettingsV1Provider.mjs +2 -0
- package/dist/esm/api/types/UpdateProjectMemberScopesV1Response.d.mts +1 -1
- package/dist/esm/api/types/UpdateProjectV1Response.d.mts +1 -1
- package/dist/esm/api/types/UsageBreakdownV1Response.d.mts +9 -9
- package/dist/esm/api/types/UsageFieldsV1Response.d.mts +8 -8
- package/dist/esm/api/types/UsageV1Response.d.mts +5 -5
- package/dist/esm/api/types/index.d.mts +3 -1
- package/dist/esm/api/types/index.mjs +3 -1
- package/dist/esm/core/fetcher/Fetcher.mjs +8 -2
- package/dist/esm/core/fetcher/makeRequest.d.mts +6 -1
- package/dist/esm/core/fetcher/makeRequest.mjs +28 -9
- package/dist/esm/core/runtime/runtime.mjs +8 -7
- package/dist/esm/core/websocket/ws.d.mts +4 -1
- package/dist/esm/core/websocket/ws.mjs +32 -2
- package/dist/esm/environments.d.mts +3 -3
- package/dist/esm/environments.mjs +2 -2
- package/dist/esm/index.d.mts +2 -0
- package/dist/esm/index.mjs +6 -0
- package/dist/esm/middleware/adapters/express.d.mts +103 -0
- package/dist/esm/middleware/adapters/express.mjs +136 -0
- package/dist/esm/middleware/adapters/fastify.d.mts +32 -0
- package/dist/esm/middleware/adapters/fastify.mjs +157 -0
- package/dist/esm/middleware/adapters/http.d.mts +153 -0
- package/dist/esm/middleware/adapters/http.mjs +187 -0
- package/dist/esm/middleware/core/ProxyHandler.d.mts +35 -0
- package/dist/esm/middleware/core/ProxyHandler.mjs +218 -0
- package/dist/esm/middleware/core/TokenManager.d.mts +29 -0
- package/dist/esm/middleware/core/TokenManager.mjs +106 -0
- package/dist/esm/middleware/core/WebSocketProxy.d.mts +32 -0
- package/dist/esm/middleware/core/WebSocketProxy.mjs +162 -0
- package/dist/esm/middleware/core/jwt.d.mts +71 -0
- package/dist/esm/middleware/core/jwt.mjs +99 -0
- package/dist/esm/middleware/core/types.d.mts +37 -0
- package/dist/esm/middleware/core/types.mjs +1 -0
- package/dist/esm/middleware/index.d.mts +55 -0
- package/dist/esm/middleware/index.mjs +59 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +433 -4
- package/reference.md +1 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fastify plugin for proxying Deepgram API requests.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*
|
|
6
|
+
* **Peer Dependencies Required:**
|
|
7
|
+
* ```bash
|
|
8
|
+
* npm install fastify fastify-plugin
|
|
9
|
+
* # or
|
|
10
|
+
* pnpm add fastify fastify-plugin
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* This module provides a Fastify plugin for proxying requests to the Deepgram API,
|
|
14
|
+
* including REST endpoints and WebSocket connections.
|
|
15
|
+
*/
|
|
16
|
+
import type { FastifyPluginAsync, FastifyPluginOptions } from "fastify";
|
|
17
|
+
import type { MiddlewareOptions } from "../core/types.js";
|
|
18
|
+
/**
|
|
19
|
+
* Fastify plugin options
|
|
20
|
+
*/
|
|
21
|
+
export interface FastifyDeepgramProxyOptions extends MiddlewareOptions, FastifyPluginOptions {
|
|
22
|
+
/** URL prefix for the proxy routes (default: "") */
|
|
23
|
+
prefix?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Export as Fastify plugin with proper typing
|
|
27
|
+
*/
|
|
28
|
+
export declare const fastifyDeepgramProxy: FastifyPluginAsync<FastifyDeepgramProxyOptions>;
|
|
29
|
+
/**
|
|
30
|
+
* Alternative export for direct usage (without fastify-plugin wrapper)
|
|
31
|
+
*/
|
|
32
|
+
export declare const deepgramProxyPlugin: FastifyPluginAsync<FastifyDeepgramProxyOptions>;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Fastify plugin for proxying Deepgram API requests.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*
|
|
7
|
+
* **Peer Dependencies Required:**
|
|
8
|
+
* ```bash
|
|
9
|
+
* npm install fastify fastify-plugin
|
|
10
|
+
* # or
|
|
11
|
+
* pnpm add fastify fastify-plugin
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* This module provides a Fastify plugin for proxying requests to the Deepgram API,
|
|
15
|
+
* including REST endpoints and WebSocket connections.
|
|
16
|
+
*/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
+
var ownKeys = function(o) {
|
|
35
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
+
var ar = [];
|
|
37
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
return ownKeys(o);
|
|
41
|
+
};
|
|
42
|
+
return function (mod) {
|
|
43
|
+
if (mod && mod.__esModule) return mod;
|
|
44
|
+
var result = {};
|
|
45
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
+
__setModuleDefault(result, mod);
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
})();
|
|
50
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
51
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
52
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
53
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
54
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
55
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
56
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
+
exports.deepgramProxyPlugin = exports.fastifyDeepgramProxy = void 0;
|
|
61
|
+
const ProxyHandler_js_1 = require("../core/ProxyHandler.js");
|
|
62
|
+
const TokenManager_js_1 = require("../core/TokenManager.js");
|
|
63
|
+
const WebSocketProxy_js_1 = require("../core/WebSocketProxy.js");
|
|
64
|
+
// Lazy-load fastify-plugin
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Dynamic loading
|
|
66
|
+
let fp = null;
|
|
67
|
+
function loadFastifyPlugin() {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
if (fp) {
|
|
70
|
+
return fp;
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const module = yield Promise.resolve().then(() => __importStar(require("fastify-plugin")));
|
|
74
|
+
fp = module.default || module;
|
|
75
|
+
return fp;
|
|
76
|
+
}
|
|
77
|
+
catch (_a) {
|
|
78
|
+
throw new Error("fastify-plugin is required for Fastify middleware. Install it with: npm install fastify-plugin");
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Fastify plugin for proxying Deepgram API requests
|
|
84
|
+
*
|
|
85
|
+
* @param fastify - Fastify instance
|
|
86
|
+
* @param options - Plugin configuration options
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import Fastify from 'fastify';
|
|
91
|
+
* import { fastifyDeepgramProxy } from '@deepgram/sdk';
|
|
92
|
+
*
|
|
93
|
+
* const fastify = Fastify();
|
|
94
|
+
*
|
|
95
|
+
* fastify.register(fastifyDeepgramProxy, {
|
|
96
|
+
* prefix: '/api/deepgram',
|
|
97
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
98
|
+
* enableTokenAuth: true
|
|
99
|
+
* });
|
|
100
|
+
*
|
|
101
|
+
* fastify.listen({ port: 3000 });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
const fastifyDeepgramProxyPlugin = (fastify, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
105
|
+
var _a;
|
|
106
|
+
const proxyHandler = new ProxyHandler_js_1.ProxyHandler(options);
|
|
107
|
+
const tokenManager = options.enableTokenAuth
|
|
108
|
+
? new TokenManager_js_1.TokenManager(options)
|
|
109
|
+
: null;
|
|
110
|
+
const wsProxy = new WebSocketProxy_js_1.WebSocketProxy(options);
|
|
111
|
+
// NOTE: We do NOT add a custom content type parser here because:
|
|
112
|
+
// 1. fastify-plugin breaks encapsulation, so it would affect ALL routes
|
|
113
|
+
// 2. We handle body reconstruction in our route handlers instead
|
|
114
|
+
// This allows users to use their own body parsers for their routes
|
|
115
|
+
// Register token endpoint if token auth is enabled
|
|
116
|
+
if (tokenManager) {
|
|
117
|
+
fastify.get("/token", (request, reply) => {
|
|
118
|
+
reply.hijack();
|
|
119
|
+
tokenManager.handleTokenRequest(request.raw, reply.raw).catch((error) => {
|
|
120
|
+
console.error("Token generation error:", error);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Register wildcard route to catch ALL paths
|
|
125
|
+
// This must match any path depth: /, /v1, /v1/listen, /v1/listen/more/paths
|
|
126
|
+
fastify.all("/*", (request, reply) => {
|
|
127
|
+
reply.hijack();
|
|
128
|
+
// Fastify has already consumed the request body stream, so we need to
|
|
129
|
+
// write the parsed body back to the raw request
|
|
130
|
+
if (request.body && (request.method === 'POST' || request.method === 'PUT' || request.method === 'PATCH')) {
|
|
131
|
+
const bodyString = typeof request.body === 'string' ? request.body : JSON.stringify(request.body);
|
|
132
|
+
// Write the body to the raw request stream
|
|
133
|
+
process.nextTick(() => {
|
|
134
|
+
request.raw.emit('data', Buffer.from(bodyString));
|
|
135
|
+
request.raw.emit('end');
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
proxyHandler.handleRequest(request.raw, reply.raw).catch((error) => {
|
|
139
|
+
console.error("[Fastify] Proxy error:", error);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
// Also catch root path explicitly
|
|
143
|
+
fastify.all("/", (request, reply) => {
|
|
144
|
+
reply.hijack();
|
|
145
|
+
// Reconstruct body if needed
|
|
146
|
+
if (request.body && (request.method === 'POST' || request.method === 'PUT' || request.method === 'PATCH')) {
|
|
147
|
+
const bodyString = typeof request.body === 'string' ? request.body : JSON.stringify(request.body);
|
|
148
|
+
process.nextTick(() => {
|
|
149
|
+
request.raw.emit('data', Buffer.from(bodyString));
|
|
150
|
+
request.raw.emit('end');
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
proxyHandler.handleRequest(request.raw, reply.raw).catch((error) => {
|
|
154
|
+
console.error("[Fastify] Root proxy error:", error);
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
// Register WebSocket upgrade handler
|
|
158
|
+
if (fastify.server) {
|
|
159
|
+
const prefix = (_a = options.prefix) !== null && _a !== void 0 ? _a : "";
|
|
160
|
+
fastify.server.on("upgrade", (req, socket, head) => {
|
|
161
|
+
var _a;
|
|
162
|
+
// Only handle requests matching our prefix
|
|
163
|
+
if ((_a = req.url) === null || _a === void 0 ? void 0 : _a.startsWith(prefix)) {
|
|
164
|
+
// Remove prefix from URL before proxying
|
|
165
|
+
const originalUrl = req.url;
|
|
166
|
+
req.url = originalUrl.slice(prefix.length);
|
|
167
|
+
wsProxy.handleUpgrade(req, socket, head);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
/**
|
|
173
|
+
* Lazy-loaded Fastify plugin (only loads fastify-plugin when called)
|
|
174
|
+
*/
|
|
175
|
+
let _fastifyDeepgramProxy = null;
|
|
176
|
+
/**
|
|
177
|
+
* Export as Fastify plugin with proper typing
|
|
178
|
+
*/
|
|
179
|
+
const fastifyDeepgramProxy = (fastify, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
180
|
+
if (!_fastifyDeepgramProxy) {
|
|
181
|
+
const pluginWrapper = yield loadFastifyPlugin();
|
|
182
|
+
_fastifyDeepgramProxy = pluginWrapper(fastifyDeepgramProxyPlugin, {
|
|
183
|
+
fastify: ">=4.0.0",
|
|
184
|
+
name: "@deepgram/sdk-middleware",
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Guaranteed to be set above
|
|
188
|
+
return _fastifyDeepgramProxy(fastify, options);
|
|
189
|
+
});
|
|
190
|
+
exports.fastifyDeepgramProxy = fastifyDeepgramProxy;
|
|
191
|
+
/**
|
|
192
|
+
* Alternative export for direct usage (without fastify-plugin wrapper)
|
|
193
|
+
*/
|
|
194
|
+
exports.deepgramProxyPlugin = fastifyDeepgramProxyPlugin;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw Node.js HTTP/HTTPS server adapter for proxying Deepgram API requests.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*
|
|
6
|
+
* **No Dependencies Required** - Uses only built-in Node.js modules
|
|
7
|
+
*
|
|
8
|
+
* This module provides a request handler for raw Node.js `http` and `https` servers,
|
|
9
|
+
* allowing proxy integration without any framework dependencies.
|
|
10
|
+
*/
|
|
11
|
+
import type { IncomingMessage, Server, ServerResponse } from "node:http";
|
|
12
|
+
import type { Duplex } from "node:stream";
|
|
13
|
+
import type { MiddlewareOptions } from "../core/types.js";
|
|
14
|
+
/**
|
|
15
|
+
* Request handler type for Node.js HTTP server
|
|
16
|
+
*/
|
|
17
|
+
export type HttpRequestHandler = (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* WebSocket upgrade handler type
|
|
20
|
+
*/
|
|
21
|
+
export type UpgradeHandler = (req: IncomingMessage, socket: Duplex, head: Buffer) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Create a request handler for raw Node.js HTTP/HTTPS servers
|
|
24
|
+
*
|
|
25
|
+
* This handler can be used directly with `http.createServer()` or `https.createServer()`.
|
|
26
|
+
*
|
|
27
|
+
* @param options - Middleware configuration options
|
|
28
|
+
* @returns HTTP request handler function
|
|
29
|
+
*
|
|
30
|
+
* @example Basic HTTP server
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import http from 'node:http';
|
|
33
|
+
* import { createHttpHandler, createUpgradeHandler } from '@deepgram/sdk';
|
|
34
|
+
*
|
|
35
|
+
* const options = {
|
|
36
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
37
|
+
* enableTokenAuth: true
|
|
38
|
+
* };
|
|
39
|
+
*
|
|
40
|
+
* // Create request handler
|
|
41
|
+
* const handler = createHttpHandler(options);
|
|
42
|
+
*
|
|
43
|
+
* // Create server
|
|
44
|
+
* const server = http.createServer(handler);
|
|
45
|
+
*
|
|
46
|
+
* // Register WebSocket upgrade handler
|
|
47
|
+
* server.on('upgrade', createUpgradeHandler(options));
|
|
48
|
+
*
|
|
49
|
+
* server.listen(3000);
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example HTTPS server
|
|
53
|
+
* ```typescript
|
|
54
|
+
* import https from 'node:https';
|
|
55
|
+
* import fs from 'node:fs';
|
|
56
|
+
* import { createHttpHandler, createUpgradeHandler } from '@deepgram/sdk';
|
|
57
|
+
*
|
|
58
|
+
* const options = {
|
|
59
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!
|
|
60
|
+
* };
|
|
61
|
+
*
|
|
62
|
+
* const server = https.createServer({
|
|
63
|
+
* key: fs.readFileSync('server.key'),
|
|
64
|
+
* cert: fs.readFileSync('server.cert')
|
|
65
|
+
* }, createHttpHandler(options));
|
|
66
|
+
*
|
|
67
|
+
* server.on('upgrade', createUpgradeHandler(options));
|
|
68
|
+
* server.listen(443);
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @example With routing
|
|
72
|
+
* ```typescript
|
|
73
|
+
* import http from 'node:http';
|
|
74
|
+
* import { createHttpHandler } from '@deepgram/sdk';
|
|
75
|
+
*
|
|
76
|
+
* const deepgramHandler = createHttpHandler({
|
|
77
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* const server = http.createServer((req, res) => {
|
|
81
|
+
* // Route /api/deepgram/* to Deepgram proxy
|
|
82
|
+
* if (req.url?.startsWith('/api/deepgram')) {
|
|
83
|
+
* // Strip prefix before proxying
|
|
84
|
+
* req.url = req.url.slice('/api/deepgram'.length);
|
|
85
|
+
* return deepgramHandler(req, res);
|
|
86
|
+
* }
|
|
87
|
+
*
|
|
88
|
+
* // Handle other routes
|
|
89
|
+
* res.writeHead(404);
|
|
90
|
+
* res.end('Not Found');
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* server.listen(3000);
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function createHttpHandler(options: MiddlewareOptions): HttpRequestHandler;
|
|
97
|
+
/**
|
|
98
|
+
* Create WebSocket upgrade handler for raw Node.js HTTP/HTTPS servers
|
|
99
|
+
*
|
|
100
|
+
* This must be registered on the server using `server.on('upgrade', handler)`.
|
|
101
|
+
*
|
|
102
|
+
* @param options - Middleware configuration options
|
|
103
|
+
* @returns Upgrade handler function
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* import http from 'node:http';
|
|
108
|
+
* import { createHttpHandler, createUpgradeHandler } from '@deepgram/sdk';
|
|
109
|
+
*
|
|
110
|
+
* const options = {
|
|
111
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!
|
|
112
|
+
* };
|
|
113
|
+
*
|
|
114
|
+
* const server = http.createServer(createHttpHandler(options));
|
|
115
|
+
*
|
|
116
|
+
* // Register WebSocket handler
|
|
117
|
+
* server.on('upgrade', createUpgradeHandler(options));
|
|
118
|
+
*
|
|
119
|
+
* server.listen(3000);
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare function createUpgradeHandler(options: MiddlewareOptions): UpgradeHandler;
|
|
123
|
+
/**
|
|
124
|
+
* Combined helper that returns both HTTP handler and upgrade handler
|
|
125
|
+
*
|
|
126
|
+
* Convenience function for setting up both REST and WebSocket proxying.
|
|
127
|
+
*
|
|
128
|
+
* @param options - Middleware configuration options
|
|
129
|
+
* @returns Object with HTTP handler and upgrade handler
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* import http from 'node:http';
|
|
134
|
+
* import { createDeepgramHttpServer } from '@deepgram/sdk';
|
|
135
|
+
*
|
|
136
|
+
* const { handler, upgradeHandler } = createDeepgramHttpServer({
|
|
137
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
138
|
+
* enableTokenAuth: true
|
|
139
|
+
* });
|
|
140
|
+
*
|
|
141
|
+
* const server = http.createServer(handler);
|
|
142
|
+
* server.on('upgrade', upgradeHandler);
|
|
143
|
+
*
|
|
144
|
+
* server.listen(3000, () => {
|
|
145
|
+
* console.log('Deepgram proxy running on port 3000');
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export declare function createDeepgramHttpServer(options: MiddlewareOptions): {
|
|
150
|
+
handler: HttpRequestHandler;
|
|
151
|
+
upgradeHandler: UpgradeHandler;
|
|
152
|
+
server: (httpServer: Server) => void;
|
|
153
|
+
};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Raw Node.js HTTP/HTTPS server adapter for proxying Deepgram API requests.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*
|
|
7
|
+
* **No Dependencies Required** - Uses only built-in Node.js modules
|
|
8
|
+
*
|
|
9
|
+
* This module provides a request handler for raw Node.js `http` and `https` servers,
|
|
10
|
+
* allowing proxy integration without any framework dependencies.
|
|
11
|
+
*/
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.createHttpHandler = createHttpHandler;
|
|
23
|
+
exports.createUpgradeHandler = createUpgradeHandler;
|
|
24
|
+
exports.createDeepgramHttpServer = createDeepgramHttpServer;
|
|
25
|
+
const ProxyHandler_js_1 = require("../core/ProxyHandler.js");
|
|
26
|
+
const TokenManager_js_1 = require("../core/TokenManager.js");
|
|
27
|
+
const WebSocketProxy_js_1 = require("../core/WebSocketProxy.js");
|
|
28
|
+
/**
|
|
29
|
+
* Create a request handler for raw Node.js HTTP/HTTPS servers
|
|
30
|
+
*
|
|
31
|
+
* This handler can be used directly with `http.createServer()` or `https.createServer()`.
|
|
32
|
+
*
|
|
33
|
+
* @param options - Middleware configuration options
|
|
34
|
+
* @returns HTTP request handler function
|
|
35
|
+
*
|
|
36
|
+
* @example Basic HTTP server
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import http from 'node:http';
|
|
39
|
+
* import { createHttpHandler, createUpgradeHandler } from '@deepgram/sdk';
|
|
40
|
+
*
|
|
41
|
+
* const options = {
|
|
42
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
43
|
+
* enableTokenAuth: true
|
|
44
|
+
* };
|
|
45
|
+
*
|
|
46
|
+
* // Create request handler
|
|
47
|
+
* const handler = createHttpHandler(options);
|
|
48
|
+
*
|
|
49
|
+
* // Create server
|
|
50
|
+
* const server = http.createServer(handler);
|
|
51
|
+
*
|
|
52
|
+
* // Register WebSocket upgrade handler
|
|
53
|
+
* server.on('upgrade', createUpgradeHandler(options));
|
|
54
|
+
*
|
|
55
|
+
* server.listen(3000);
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @example HTTPS server
|
|
59
|
+
* ```typescript
|
|
60
|
+
* import https from 'node:https';
|
|
61
|
+
* import fs from 'node:fs';
|
|
62
|
+
* import { createHttpHandler, createUpgradeHandler } from '@deepgram/sdk';
|
|
63
|
+
*
|
|
64
|
+
* const options = {
|
|
65
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!
|
|
66
|
+
* };
|
|
67
|
+
*
|
|
68
|
+
* const server = https.createServer({
|
|
69
|
+
* key: fs.readFileSync('server.key'),
|
|
70
|
+
* cert: fs.readFileSync('server.cert')
|
|
71
|
+
* }, createHttpHandler(options));
|
|
72
|
+
*
|
|
73
|
+
* server.on('upgrade', createUpgradeHandler(options));
|
|
74
|
+
* server.listen(443);
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @example With routing
|
|
78
|
+
* ```typescript
|
|
79
|
+
* import http from 'node:http';
|
|
80
|
+
* import { createHttpHandler } from '@deepgram/sdk';
|
|
81
|
+
*
|
|
82
|
+
* const deepgramHandler = createHttpHandler({
|
|
83
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* const server = http.createServer((req, res) => {
|
|
87
|
+
* // Route /api/deepgram/* to Deepgram proxy
|
|
88
|
+
* if (req.url?.startsWith('/api/deepgram')) {
|
|
89
|
+
* // Strip prefix before proxying
|
|
90
|
+
* req.url = req.url.slice('/api/deepgram'.length);
|
|
91
|
+
* return deepgramHandler(req, res);
|
|
92
|
+
* }
|
|
93
|
+
*
|
|
94
|
+
* // Handle other routes
|
|
95
|
+
* res.writeHead(404);
|
|
96
|
+
* res.end('Not Found');
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* server.listen(3000);
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
function createHttpHandler(options) {
|
|
103
|
+
const proxyHandler = new ProxyHandler_js_1.ProxyHandler(options);
|
|
104
|
+
const tokenManager = options.enableTokenAuth ? new TokenManager_js_1.TokenManager(options) : null;
|
|
105
|
+
return (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
try {
|
|
107
|
+
// Handle token generation requests
|
|
108
|
+
if (options.enableTokenAuth && req.url === "/token" && req.method === "GET") {
|
|
109
|
+
yield tokenManager.handleTokenRequest(req, res);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Handle all other requests (proxy to Deepgram)
|
|
113
|
+
yield proxyHandler.handleRequest(req, res);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
// Set error response
|
|
117
|
+
res.statusCode = 500;
|
|
118
|
+
res.setHeader("Content-Type", "application/json");
|
|
119
|
+
res.end(JSON.stringify({
|
|
120
|
+
error: error instanceof Error ? error.message : String(error),
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Create WebSocket upgrade handler for raw Node.js HTTP/HTTPS servers
|
|
127
|
+
*
|
|
128
|
+
* This must be registered on the server using `server.on('upgrade', handler)`.
|
|
129
|
+
*
|
|
130
|
+
* @param options - Middleware configuration options
|
|
131
|
+
* @returns Upgrade handler function
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* import http from 'node:http';
|
|
136
|
+
* import { createHttpHandler, createUpgradeHandler } from '@deepgram/sdk';
|
|
137
|
+
*
|
|
138
|
+
* const options = {
|
|
139
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!
|
|
140
|
+
* };
|
|
141
|
+
*
|
|
142
|
+
* const server = http.createServer(createHttpHandler(options));
|
|
143
|
+
*
|
|
144
|
+
* // Register WebSocket handler
|
|
145
|
+
* server.on('upgrade', createUpgradeHandler(options));
|
|
146
|
+
*
|
|
147
|
+
* server.listen(3000);
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
function createUpgradeHandler(options) {
|
|
151
|
+
const wsProxy = new WebSocketProxy_js_1.WebSocketProxy(options);
|
|
152
|
+
return (req, socket, head) => {
|
|
153
|
+
wsProxy.handleUpgrade(req, socket, head);
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Combined helper that returns both HTTP handler and upgrade handler
|
|
158
|
+
*
|
|
159
|
+
* Convenience function for setting up both REST and WebSocket proxying.
|
|
160
|
+
*
|
|
161
|
+
* @param options - Middleware configuration options
|
|
162
|
+
* @returns Object with HTTP handler and upgrade handler
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* import http from 'node:http';
|
|
167
|
+
* import { createDeepgramHttpServer } from '@deepgram/sdk';
|
|
168
|
+
*
|
|
169
|
+
* const { handler, upgradeHandler } = createDeepgramHttpServer({
|
|
170
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
171
|
+
* enableTokenAuth: true
|
|
172
|
+
* });
|
|
173
|
+
*
|
|
174
|
+
* const server = http.createServer(handler);
|
|
175
|
+
* server.on('upgrade', upgradeHandler);
|
|
176
|
+
*
|
|
177
|
+
* server.listen(3000, () => {
|
|
178
|
+
* console.log('Deepgram proxy running on port 3000');
|
|
179
|
+
* });
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
function createDeepgramHttpServer(options) {
|
|
183
|
+
const handler = createHttpHandler(options);
|
|
184
|
+
const upgradeHandler = createUpgradeHandler(options);
|
|
185
|
+
return {
|
|
186
|
+
handler,
|
|
187
|
+
upgradeHandler,
|
|
188
|
+
server: (httpServer) => {
|
|
189
|
+
httpServer.on("upgrade", upgradeHandler);
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
import type { MiddlewareOptions } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Handles HTTP/REST request proxying to Deepgram API
|
|
5
|
+
*/
|
|
6
|
+
export declare class ProxyHandler {
|
|
7
|
+
private readonly apiKey;
|
|
8
|
+
private readonly baseUrl;
|
|
9
|
+
private readonly tokenMode;
|
|
10
|
+
constructor(options: MiddlewareOptions);
|
|
11
|
+
/**
|
|
12
|
+
* Handle incoming HTTP request and proxy to Deepgram
|
|
13
|
+
*/
|
|
14
|
+
handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Forward request to Deepgram API
|
|
17
|
+
*/
|
|
18
|
+
private forwardToDeepgram;
|
|
19
|
+
/**
|
|
20
|
+
* Prepare headers for Deepgram request
|
|
21
|
+
*/
|
|
22
|
+
private prepareHeaders;
|
|
23
|
+
/**
|
|
24
|
+
* Add CORS headers to response
|
|
25
|
+
*/
|
|
26
|
+
private addCorsHeaders;
|
|
27
|
+
/**
|
|
28
|
+
* Handle CORS preflight requests
|
|
29
|
+
*/
|
|
30
|
+
private handleCorsPreflightRequest;
|
|
31
|
+
/**
|
|
32
|
+
* Handle errors and send appropriate response
|
|
33
|
+
*/
|
|
34
|
+
private handleError;
|
|
35
|
+
}
|