in src/invoker.js [413:450]
async init(actionWithCode) {
let action;
if (this.sourceMountAction) {
action = this.sourceMountAction;
} else {
action = {
binary: actionWithCode.exec.binary,
main: actionWithCode.exec.main || "main",
code: actionWithCode.exec.code,
};
}
const RETRIES = MAX_INIT_RETRY_MS / INIT_RETRY_DELAY_MS;
const response = await fetch(`${this.url()}/init`, {
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
value: action
}),
retryDelay: INIT_RETRY_DELAY_MS,
retryOn: function(attempt, error) {
// after 1.5 seconds, show retry to user via spinner
if (attempt >= 1500 / INIT_RETRY_DELAY_MS) {
log.spinner(`Installing action (retry ${attempt}/${RETRIES})`)
}
return error !== null && attempt < RETRIES;
}
});
if (response.status === 502) {
const body = await response.json();
throw new Error("Could not initialize action code on local debug container:\n\n" + body.error);
}
}