/stations: fix Content-Type 🐛

This commit is contained in:
Jannis R 2022-11-22 16:01:29 +01:00
parent 40865154fa
commit 6bca0d4f59
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
2 changed files with 46 additions and 1 deletions

View file

@ -95,10 +95,15 @@ const stationsRoute = (req, res, next) => {
pAllStations pAllStations
.then(({stations, timeModified, asJson, asNdjson}) => { .then(({stations, timeModified, asJson, asNdjson}) => {
res.setHeader('Last-Modified', timeModified.toUTCString()) res.setHeader('Last-Modified', timeModified.toUTCString())
res.setHeader('Content-Type', t)
if (Object.keys(q).length === 0) { if (Object.keys(q).length === 0) {
const data = t === JSON_MIME ? asJson.data : asNdjson.data const data = t === JSON_MIME ? asJson.data : asNdjson.data
const etag = t === JSON_MIME ? asJson.etag : asNdjson.etag const etag = t === JSON_MIME ? asJson.etag : asNdjson.etag
serveBuffer(req, res, data, {timeModified, etag}) serveBuffer(req, res, data, {
timeModified,
etag,
contentType: t,
})
} else if (q.query) { } else if (q.query) {
complete(req, res, next, q, stations, onStation, onEnd) complete(req, res, next, q, stations, onStation, onEnd)
} else { } else {

View file

@ -39,3 +39,43 @@ tape.test('/journeys?loyaltyCard works', async (t) => {
} }
}, {}, '/journeys?from=123&to=234&loyaltyCard=bahncard-2nd-50') }, {}, '/journeys?from=123&to=234&loyaltyCard=bahncard-2nd-50')
}) })
tape.test('/stations works', async (t) => {
{
const {headers} = await fetchWithTestApi({}, {}, '/stations', {
headers: {
'accept': 'application/json',
},
})
t.equal(headers['content-type'], 'application/json')
}
{
const {headers} = await fetchWithTestApi({}, {}, '/stations', {
headers: {
'accept': 'application/x-ndjson',
},
})
t.equal(headers['content-type'], 'application/x-ndjson')
}
})
tape.test('/stations?query=frankf works', async (t) => {
{
const {headers} = await fetchWithTestApi({}, {}, '/stations?query=frankf', {
headers: {
'accept': 'application/json',
},
})
t.equal(headers['content-type'], 'application/json')
}
{
const {headers} = await fetchWithTestApi({}, {}, '/stations?query=frankf', {
headers: {
'accept': 'application/x-ndjson',
},
})
t.equal(headers['content-type'], 'application/x-ndjson')
}
})