Skip to content

Commit b5a0d59

Browse files
committed
Fix path
1 parent ed87736 commit b5a0d59

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

src/app/api/stats/route.ts

Lines changed: 16 additions & 10 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,22 +29,27 @@ export async function GET(req: NextRequest) {
2829
const costOfCarry = carryCosts
2930
? (carryCosts[formattedSymbol] ?? null)
3031
: null
31-
try {
32-
const metrics = await fetchTokenMetrics({
33-
chainId,
34-
tokenAddress: tokenAddress,
35-
metrics: ['fees', 'nav', 'navchange'],
36-
})
37-
console.error('foobar success', metrics)
38-
} catch (error) {
39-
console.error('foobar error', error)
40-
}
32+
33+
const headesrList = await headers()
34+
const host = headersList.get('host')
35+
const metrics = await fetchTokenMetrics({
36+
hostname:
37+
process.env.NODE_ENV === 'development'
38+
? `http://${host}`
39+
: `https://${host}`,
40+
chainId,
41+
tokenAddress: tokenAddress,
42+
metrics: ['fees', 'nav', 'navchange'],
43+
})
4144

4245
return NextResponse.json({
4346
base: { ...data, baseCurrency },
4447
token: {
4548
symbol,
4649
costOfCarry,
50+
nav: metrics?.NetAssetValue ?? 0,
51+
navchange: metrics?.NavChange24Hr ?? 0,
52+
streamingFee: metrics?.StreamingFee ?? 0,
4753
},
4854
})
4955
} catch (error) {

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)