Add customizer support for OpenSCAD

This also includes sending metadata and part of the concatenated gzip,
not in the s3 metadata as that has a 2kb limit.

Resolves #320
This commit is contained in:
Kurt Hutten
2021-08-25 18:57:28 +10:00
parent 5d79efbf15
commit 87f132a684
18 changed files with 388 additions and 227 deletions

View File

@@ -6,6 +6,7 @@ import {
timeoutErrorMessage,
RenderArgs,
DefaultKernelExport,
splitGziped,
} from './common'
export const render: DefaultKernelExport['render'] = async ({
@@ -41,11 +42,19 @@ export const render: DefaultKernelExport['render'] = async ({
return createUnhealthyResponse(new Date(), timeoutErrorMessage)
}
const data = await response.json()
const geometry = await stlToGeometry(data.url)
const newData = await fetch(data.url).then(async (a) => {
const blob = await a.blob()
const text = await new Response(blob).text()
const { consoleMessage } = splitGziped(text)
return {
data: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
}
})
return createHealthyResponse({
type: 'geometry',
data: geometry,
consoleMessage: data.consoleMessage,
data: newData.data,
consoleMessage: newData.consoleMessage,
date: new Date(),
})
} catch (e) {