Compare commits

...

1 Commits

Author SHA1 Message Date
Bastien OLLIER b646ad576d add build code from requests
continuous-integration/drone/push Build is passing Details
1 year ago

@ -26,33 +26,47 @@ const server = http.createServer((req, res) => {
res.end(); res.end();
return; return;
} }
const jobId = generateId();
let body: Uint8Array[] = [];
switch (req.url) { switch (req.url) {
case '/run': case '/run':
const jobId = generateId(); req
const code = 'echo a'; .on('data', chunk => {
const image = 'ghcr.io/moshell-lang/moshell:master'; body.push(chunk);
const buffer = Buffer.allocUnsafe(jobId.length + image.length + code.length + 8); })
buffer.write(jobId, 0); .on('end', () => {
buffer.writeUInt32BE(image.length, jobId.length); let params = JSON.parse(Buffer.concat(body).toString());
buffer.writeUInt32BE(code.length, jobId.length + 4);
buffer.write(image, jobId.length + 8); const code = params.code;
buffer.write(code, jobId.length + 8 + image.length); const image = 'ghcr.io/moshell-lang/moshell:master';
res.writeHead(200, { const buffer = Buffer.allocUnsafe(jobId.length + image.length + code.length + 8);
'Content-Type': 'text/event-stream', buffer.write(jobId, 0);
Connection: 'keep-alive', buffer.writeUInt32BE(image.length, jobId.length);
'Cache-Control': 'no-cache', buffer.writeUInt32BE(code.length, jobId.length + 4);
...CORS, buffer.write(image, jobId.length + 8);
}); buffer.write(code, jobId.length + 8 + image.length);
sender.send(buffer).then(() => { res.writeHead(200, {
res.write('event: connected\n'); 'Content-Type': 'text/event-stream',
res.write(`data: ${jobId}\n`); Connection: 'keep-alive',
res.write('id: 0\n\n'); 'Cache-Control': 'no-cache',
}); ...CORS,
req.on('close', () => { });
res.end('OK'); sender.send(buffer).then(() => {
delete clients[jobId]; res.write('event: connected\n');
}); res.write(`data: ${jobId}\n`);
clients[jobId] = res; res.write('id: 0\n\n');
});
//res.end(body);
})
.on('close', () => {
res.end('OK');
delete clients[jobId];
});
clients[jobId] = res;
//res.end()
break; break;
default: default:
res.writeHead(404, CORS); res.writeHead(404, CORS);

Loading…
Cancel
Save