Skip to content

Commit dc55182

Browse files
committed
improve response headers
1 parent a925e08 commit dc55182

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

plugins/plugin-lite-api.mjs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,13 @@ export async function getLiteApiResponse(request, url, env, serverContext) {
5757

5858
const info = graphqlUtil.getGenericInfo(lang, gameMode);
5959

60-
const traders = await data.worker.trader.getList(context, info);
6160
function toLiteApiItem(item) {
6261
const bestTraderSell = item.traderPrices.reduce((best, current) => {
6362
if (!best || current.priceRUB > best.priceRUB) {
6463
return current;
6564
}
6665
return best;
6766
}, undefined);
68-
const bestTrader = bestTraderSell ? traders.find(t => t.id === bestTraderSell.trader) : undefined;
6967
return {
7068
uid: item.id,
7169
name: data.worker.item.getLocale(item.name, context, info),
@@ -75,7 +73,7 @@ export async function getLiteApiResponse(request, url, env, serverContext) {
7573
basePrice: item.basePrice,
7674
avg24hPrice: item.avg24hPrice,
7775
//avg7daysPrice: null,
78-
traderName: bestTrader ? data.worker.trader.getLocale(bestTrader.name, context, info) : null,
76+
traderName: bestTraderSell ? bestTraderSell.name : null,
7977
traderPrice: bestTraderSell ? bestTraderSell.price : null,
8078
traderPriceCur: bestTraderSell ? currencyMap[bestTraderSell.currency] : null,
8179
updated: item.updated,
@@ -90,15 +88,23 @@ export async function getLiteApiResponse(request, url, env, serverContext) {
9088
img512: item.image512pxLink,
9189
image8x: item.image8xLink,
9290
bsgId: item.id,
93-
isFunctional: !item.types.includes('gun'),
91+
isFunctional: true, // !item.types.includes('gun'),
9492
reference: 'https://tarkov.dev',
9593
};
9694
}
9795

9896
let items, ttl;
97+
const responseOptions = {
98+
headers: {
99+
'Content-Type': 'application/json',
100+
},
101+
};
99102
try {
100103
if (endpoint.startsWith('items')) {
101104
items = await data.worker.item.getAllItems(context, info);
105+
if (endpoint.endsWith('/download')) {
106+
responseOptions.headers['Content-Disposition'] = 'attachment; filename="items.json"';
107+
}
102108
}
103109
if (!items && endpoint.startsWith('item')) {
104110
if (!q) {
@@ -125,15 +131,13 @@ export async function getLiteApiResponse(request, url, env, serverContext) {
125131
serverContext.waitUntil(putCachePromise);
126132
}
127133
}
128-
return new Response(responseBody)
134+
135+
return new Response(responseBody, responseOptions);
129136
}
130137

131138
export default function useLiteApi(env) {
132139
return {
133140
async onRequest({ request, url, endResponse, serverContext, fetchAPI }) {
134-
request.headers.forEach((hVal, hKey) => {
135-
console.log(hKey, hVal);
136-
});
137141
if (!url.pathname.match(liteApiPathRegex)) {
138142
return;
139143
}

0 commit comments

Comments
 (0)