diff options
| author | Saumit <justsaumit@protonmail.com> | 2025-09-27 02:14:26 +0530 |
|---|---|---|
| committer | Saumit <justsaumit@protonmail.com> | 2025-09-27 02:14:26 +0530 |
| commit | 82e03978b89938219958032efb1448cc76baa181 (patch) | |
| tree | 626f3e54d52ecd49be0ed3bee30abacc0453d081 /src/frontend/pages/api/data.ts | |
Initial snapshot - OpenTelemetry demo 2.1.3 -f
Diffstat (limited to 'src/frontend/pages/api/data.ts')
| -rw-r--r-- | src/frontend/pages/api/data.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/frontend/pages/api/data.ts b/src/frontend/pages/api/data.ts new file mode 100644 index 0000000..7e6ac8f --- /dev/null +++ b/src/frontend/pages/api/data.ts @@ -0,0 +1,26 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +import type { NextApiRequest, NextApiResponse } from 'next'; +import InstrumentationMiddleware from '../../utils/telemetry/InstrumentationMiddleware'; +import AdGateway from '../../gateways/rpc/Ad.gateway'; +import { Ad, Empty } from '../../protos/demo'; + +type TResponse = Ad[] | Empty; + +const handler = async ({ method, query }: NextApiRequest, res: NextApiResponse<TResponse>) => { + switch (method) { + case 'GET': { + const { contextKeys = [] } = query; + const { ads: adList } = await AdGateway.listAds(Array.isArray(contextKeys) ? contextKeys : contextKeys.split(',')); + + return res.status(200).json(adList); + } + + default: { + return res.status(405).send(''); + } + } +}; + +export default InstrumentationMiddleware(handler); |
