push neon reactor

This commit is contained in:
2026-07-12 15:11:38 +02:00
parent 172e72dbcd
commit aeab5f7820
9597 changed files with 2407488 additions and 0 deletions
@@ -0,0 +1,22 @@
/*!
* Copyright (C) Microsoft Corporation. All rights reserved.
*/
import type { IHttpClient, RequestConfig, Response as HttpClientResponse } from '@microsoft/power-apps-actions';
import type { IAuthenticationProvider } from '../Types/Cli.types.js';
export declare class CliHttpClient implements IHttpClient {
private _authenticationProvider;
private _inflight;
private _spinner;
constructor(_authenticationProvider: IAuthenticationProvider);
get<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
post<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
patch<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
put<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
delete<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
private _sendRequestAsync;
private _startSpinner;
private _stopSpinner;
private _parseResponse;
private _transformHeaders;
}
//# sourceMappingURL=CliHttpClient.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"CliHttpClient.d.ts","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,QAAQ,IAAI,kBAAkB,EAC/B,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAIlE,qBAAa,aAAc,YAAW,WAAW;IAInC,OAAO,CAAC,uBAAuB;IAH3C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAoB;gBAEhB,uBAAuB,EAAE,uBAAuB;IAEvD,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,IAAI,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,KAAK,CAAC,CAAC,GAAG,OAAO,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,MAAM,CAAC,CAAC,GAAG,OAAO,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAInB,iBAAiB;IAiE/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;YAON,cAAc;YAkBd,iBAAiB;CAOhC"}
@@ -0,0 +1,115 @@
/*!
* Copyright (C) Microsoft Corporation. All rights reserved.
*/
import { randomUUID } from 'crypto';
import { getSettings } from '../CliSettings.js';
import { MS_CLIENT_REQUESTID } from '../Constants.js';
import { enhanceNetworkError } from '../Utils/EnhanceNetworkError.js';
import { CliSpinner } from '../Utils/Spinner.js';
export class CliHttpClient {
_authenticationProvider;
_inflight = 0;
_spinner = new CliSpinner();
constructor(_authenticationProvider) {
this._authenticationProvider = _authenticationProvider;
}
async get(url, config) {
return this._sendRequestAsync(url, 'GET', config);
}
async post(url, config) {
return this._sendRequestAsync(url, 'POST', config);
}
async patch(url, config) {
return this._sendRequestAsync(url, 'PATCH', config);
}
async put(url, config) {
return this._sendRequestAsync(url, 'PUT', config);
}
async delete(url, config) {
return this._sendRequestAsync(url, 'DELETE', config);
}
async _sendRequestAsync(url, method, config) {
this._startSpinner();
try {
const headers = config?.headers || {};
if (config?.authResource) {
const token = await this._authenticationProvider.getAccessTokenForResource(config.authResource);
headers.Authorization = `Bearer ${token}`;
}
if (!headers['Content-Type']) {
headers['Content-Type'] = 'application/json';
}
headers[MS_CLIENT_REQUESTID] = randomUUID();
// Only JSON.stringify if body is not already a string and Content-Type is JSON
let bodyContent;
if (config?.body !== undefined) {
const isJsonContentType = headers['Content-Type'] === 'application/json';
bodyContent =
typeof config.body === 'string' && !isJsonContentType
? config.body
: JSON.stringify(config.body);
}
const requestOptions = {
method,
headers,
// Only include body if it exists
body: bodyContent,
};
const response = await fetch(url, requestOptions);
if (!response.ok) {
throw new Error(`HTTP error status: ${response.status} for ${method} ${url}: ${await response.text()}`);
}
const data = await this._parseResponse(response);
return {
data,
status: response.status,
headers: await this._transformHeaders(response.headers),
};
}
catch (error) {
throw enhanceNetworkError(error, method, url);
}
finally {
this._stopSpinner();
}
}
_startSpinner() {
this._inflight++;
if (this._inflight === 1 && getSettings().interactive) {
this._spinner.start();
}
}
_stopSpinner() {
this._inflight--;
if (this._inflight === 0 && getSettings().interactive) {
this._spinner.stop();
}
}
async _parseResponse(response) {
const contentType = response.headers.get('content-type');
const responseText = await response.text();
// Handle empty responses or non-JSON content
if (!responseText || responseText.trim() === '') {
return null;
}
else if (contentType && contentType.includes('application/json')) {
try {
return JSON.parse(responseText);
}
catch (parseError) {
throw new Error(`Failed to parse JSON response: ${parseError}`);
}
}
else {
return responseText;
}
}
async _transformHeaders(headers) {
const result = {};
headers.forEach((value, key) => {
result[key] = value;
});
return result;
}
}
//# sourceMappingURL=CliHttpClient.js.map
@@ -0,0 +1 @@
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"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"}