|
1 | 1 | import { FirmwareOption } from '../constants' |
2 | 2 | import { defaultFirmwareOptions } from '../constants' |
3 | 3 | import { DeviceService } from './DeviceService'; |
| 4 | +import {Octokit} from '@octokit/rest'; |
4 | 5 |
|
5 | 6 | export class FirmwareService { |
6 | 7 | private firmwareString: string | null = null; |
@@ -65,7 +66,12 @@ export class FirmwareService { |
65 | 66 | if (firmwareName.startsWith('MINIMAL_')) { |
66 | 67 | firmwareId = 'm-' + firmwareId.replace('minimal-', ''); |
67 | 68 | } |
68 | | - const firmwareUrl = asset.browser_download_url; |
| 69 | + |
| 70 | + |
| 71 | + //const firmwareUrl = asset.browser_download_url; |
| 72 | + // Instead let's use the asset ID to formulate an GitHub API URL. |
| 73 | + // We'll still use the 'URL' var for now but it's actually a formatted GET req |
| 74 | + const firmwareUrl = 'GET /repos/sparkfun/micropython/releases/assets/' + asset.id; |
69 | 75 |
|
70 | 76 | // log the asset object |
71 | 77 | console.log('Asset:', asset); |
@@ -172,15 +178,30 @@ export class FirmwareService { |
172 | 178 |
|
173 | 179 | console.log("Performing fetch for firmware:", selectedFirmware.url); |
174 | 180 |
|
175 | | - const result = await fetch(selectedFirmware.url, { |
176 | | - mode: 'cors', |
| 181 | + // const result = await fetch(selectedFirmware.url, { |
| 182 | + // mode: 'cors', |
| 183 | + // headers: { |
| 184 | + // 'Accept': 'application/octet-stream', |
| 185 | + // }, |
| 186 | + // method: 'GET' |
| 187 | + // }); |
| 188 | + |
| 189 | + // console.log('Firmware fetch result:', result); |
| 190 | + |
| 191 | + const octokit = new Octokit({}); |
| 192 | + |
| 193 | + // firmware URLs from above: const firmwareUrl = 'GET /repos/sparkfun/micropython/releases/assets/' + asset.id; |
| 194 | + const response = await octokit.request(selectedFirmware.url, { |
| 195 | + owner: 'sparkfun', |
| 196 | + repo: 'micropython', |
| 197 | + asset_id: selectedFirmware.url.split('/').pop(), // Extract the asset ID from the URL |
177 | 198 | headers: { |
178 | | - 'Accept': 'application/octet-stream', |
179 | | - }, |
180 | | - method: 'GET' |
| 199 | + 'X-GitHub-Api-Version': '2022-11-28' |
| 200 | + } |
181 | 201 | }); |
182 | 202 |
|
183 | | - console.log('Firmware fetch result:', result); |
| 203 | + console.log('Response from GitHub:', response); |
| 204 | + throw new Error('Purposeful error out during testing.'); // TODO: Remove this line when done testing. |
184 | 205 |
|
185 | 206 | // if (!result.ok) { |
186 | 207 | // console.log("Error fetching firmware:", result.status, result.statusText); |
|
0 commit comments