|
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