Skip to content

Commit 7a6b580

Browse files
authored
Merge pull request #1834 from IndexCoop/fix/api-stats
fix: api stats call
2 parents 83a9ccb + f664432 commit 7a6b580

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/app/api/stats/route.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { CoinGeckoService, CoingeckoProvider } from '@indexcoop/analytics-sdk'
2+
import { headers } from 'next/headers'
23
import { type NextRequest, NextResponse } from 'next/server'
34

45
import { fetchTokenMetrics } from '@/lib/utils/api/index-data-provider'
@@ -28,7 +29,14 @@ export async function GET(req: NextRequest) {
2829
const costOfCarry = carryCosts
2930
? (carryCosts[formattedSymbol] ?? null)
3031
: null
32+
33+
const headersList = await headers()
34+
const host = headersList.get('host')
3135
const metrics = await fetchTokenMetrics({
36+
hostname:
37+
process.env.NODE_ENV === 'development'
38+
? `http://${host}`
39+
: `https://${host}`,
3240
chainId,
3341
tokenAddress: tokenAddress,
3442
metrics: ['fees', 'nav', 'navchange'],

src/lib/utils/api/index-data-provider.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export type IndexDataPeriod =
3131
export type IndexDataInterval = 'latest' | 'minute' | 'hour' | 'daily'
3232

3333
type FormatUrlArgs = {
34+
hostname?: string
3435
chainId: number
3536
tokenAddress: string
3637
metrics?: IndexDataMetric[]
@@ -39,6 +40,7 @@ type FormatUrlArgs = {
3940
}
4041

4142
function formatUrl({
43+
hostname = '',
4244
chainId,
4345
tokenAddress,
4446
metrics = [],
@@ -53,19 +55,21 @@ function formatUrl({
5355
for (const metric of metrics) {
5456
searchParams.append('metrics', metric)
5557
}
56-
return `/api/data/${tokenAddress}?${searchParams.toString()}`
58+
return `${hostname}/api/data/${tokenAddress}?${searchParams.toString()}`
5759
}
5860

5961
export async function fetchTokenMetrics({
62+
hostname,
6063
chainId,
6164
tokenAddress,
6265
metrics,
6366
}: {
67+
hostname?: string
6468
chainId: number
6569
tokenAddress: string
6670
metrics: IndexDataMetric[]
6771
}) {
68-
const url = formatUrl({ chainId, tokenAddress, metrics })
72+
const url = formatUrl({ hostname, chainId, tokenAddress, metrics })
6973
try {
7074
const res = await fetch(url)
7175
const json = await res.json()

0 commit comments

Comments
 (0)