MCPcopy Create free account
hub / github.com/cfworker/cfworker / deployToWorkersDev

Function deployToWorkersDev

packages/dev/src/cloudflare-api.js:65–111  ·  view source on GitHub ↗
(args)

Source from the content-addressed store, hash-verified

63 * @param {DeployToWorkersDevArgs} args
64 */
65export async function deployToWorkersDev(args) {
66 const site = await getSiteBindings(args);
67 const kv = await getKVBindings(args);
68 const form = new FormData();
69 const body_part = 'worker.js';
70 const metadata = {
71 body_part,
72 bindings: [...site.bindings, ...kv.bindings]
73 };
74 form.append('metadata', JSON.stringify(metadata), {
75 contentType: 'application/json',
76 filename: 'metadata.json'
77 });
78 if (site.manifest) {
79 form.append('manifest', site.manifest, {
80 contentType: 'text/plain',
81 filename: 'manifest.json'
82 });
83 }
84 form.append(body_part, args.code, {
85 contentType: 'application/javascript',
86 filename: body_part
87 });
88
89 const response = await fetch(
90 `${apiBase}/accounts/${args.accountId}/workers/scripts/${args.name}`,
91 {
92 method: 'PUT',
93 headers: Object.assign(
94 {},
95 form.getHeaders(),
96 buildAuthHeaders(args.apiKey, args.accountEmail)
97 ),
98 body: form.getBuffer()
99 }
100 );
101 if (!response.ok) {
102 throw new Error(
103 `PUT worker script failed.\n${response.status}: ${
104 response.statusText
105 }\n${await response.text()}`
106 );
107 }
108
109 await site.kvCleanup();
110 await kv.kvCleanup();
111}
112
113/**
114 * @typedef {object} DeployArgs

Callers 1

deployMethod · 0.90

Calls 4

getSiteBindingsFunction · 0.85
getKVBindingsFunction · 0.85
buildAuthHeadersFunction · 0.85
textMethod · 0.45

Tested by

no test coverage detected