Added nodeinfo content length limit (5k) solving issues with global redirects to endless streams

main
Štěpán Škorpil 2022-04-18 22:18:43 +02:00
rodzic cc42eebe0e
commit b2725e5acf
2 zmienionych plików z 6 dodań i 4 usunięć

Wyświetl plik

@ -27,8 +27,7 @@ export type NodeInfo = z.infer<typeof schema>
export const retrieveNodeInfo = async (url: string): Promise<NodeInfo> => {
console.info('Retrieving node info', { url: url })
const nodeInfoResponse = await axios.get(url, {
timeout: getDefaultTimeoutMilliseconds(),
maxContentLength: 5000
timeout: getDefaultTimeoutMilliseconds()
})
assertSuccessJsonResponse(nodeInfoResponse)
return schema.parse(nodeInfoResponse.data)

Wyświetl plik

@ -14,10 +14,13 @@ const wellKnownSchema = z.object({
export type WellKnown = z.infer<typeof wellKnownSchema>
export const retrieveWellKnown = async (domain:string):Promise<WellKnown> => {
export const retrieveWellKnown = async (domain: string): Promise<WellKnown> => {
console.info('Retrieving well known', { domain: domain })
const wellKnownUrl = `https://${domain}/.well-known/nodeinfo`
const wellKnownResponse = await axios.get(wellKnownUrl, { timeout: getDefaultTimeoutMilliseconds() })
const wellKnownResponse = await axios.get(wellKnownUrl, {
timeout: getDefaultTimeoutMilliseconds(),
maxContentLength: 5000
})
assertSuccessJsonResponse(wellKnownResponse)
return wellKnownSchema.parse(wellKnownResponse.data)
}