VoiceTranscriptFormDataParser
my first try ever parsing formdataunknown
plain_text
9 months ago
2.7 kB
12
Indexable
async function nft_tokens_for_owner_func(request: HttpRequest, context) {
const body = await request.text();
const bodyPipe = await request.body;
// bodyPipe.releaseLock();
const bodyJson = await request.json();
const boundary = body.slice(0, 40);
const random = (() => {
const buf = Buffer.alloc(16);
return () => randomFillSync(buf).toString('hex');
})();
function readHeader(request: HttpRequest, key: string) {
return {[key] :Object.fromEntries(request.headers.entries())[key] + `; boundary=${boundary}`};
}
return new Promise((resolve, reject) => {
console.log({contentType: request.headers.values});
console.log({new_header: readHeader(request, 'content-type')});
const busboyHeader = readHeader(request, 'content-type');
const bb = busboy({ headers: busboyHeader });
const saveTo = join(process.cwd(), "./",);
console.log({temp_directory: saveTo});
// const saveTo = join(tmpdir(), `busboy-upload-${random()}`);
bb.on('file', (fieldname, file, filename, encoding, mimetype) => {
const saveTo = join(process.cwd(), 'uploads', filename);
const writeStream = createWriteStream(saveTo);
file.pipe(writeStream);
writeStream.on('close', () => {
context.log(`File [${filename}] saved successfully.`);
});
writeStream.on('error', (err) => {
context.log.error(`Error writing file [${filename}]: ${err.message}`);
});
});
bb.on('finish', () => {
context.res = {
status: 200,
body: 'Upload complete!',
};
context.done();
});
const downloadWriteStream = createWriteStream('./');
const stream = new WritableStream({
write(bb){
downloadWriteStream.write(bb);
}
});
console.log({readableStream: bodyPipe});
bodyPipe.pipeTo(stream);
})
}
nft_tokens_for_owner_func(request, context);Editor is loading...
Leave a Comment