cletus/node_modules/@azure/msal-node/src/config/ManagedIdentityRequestParameters.ts
2025-05-09 15:53:19 -05:00

48 lines
1.5 KiB
TypeScript

/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import { RequestParameterBuilder, UrlString } from "@azure/msal-common/node";
import { HttpMethod } from "../utils/Constants.js";
export class ManagedIdentityRequestParameters {
private _baseEndpoint: string;
public httpMethod: HttpMethod;
public headers: Record<string, string>;
public bodyParameters: Record<string, string>;
public queryParameters: Record<string, string>;
constructor(httpMethod: HttpMethod, endpoint: string) {
this.httpMethod = httpMethod;
this._baseEndpoint = endpoint;
this.headers = {} as Record<string, string>;
this.bodyParameters = {} as Record<string, string>;
this.queryParameters = {} as Record<string, string>;
}
public computeUri(): string {
const parameterBuilder = new RequestParameterBuilder();
if (this.queryParameters) {
parameterBuilder.addExtraQueryParameters(this.queryParameters);
}
const queryParametersString = parameterBuilder.createQueryString();
return UrlString.appendQueryString(
this._baseEndpoint,
queryParametersString
);
}
public computeParametersBodyString(): string {
const parameterBuilder = new RequestParameterBuilder();
if (this.bodyParameters) {
parameterBuilder.addExtraQueryParameters(this.bodyParameters);
}
return parameterBuilder.createQueryString();
}
}