@eddye68/studio-client
Version:
The AWS service Studio client
47 lines (44 loc) • 1.4 kB
TypeScript
import { IHttpClient } from './http-client-interface.js';
import { ResponseBase } from './response-base.js';
import { LoggerInterface } from '@aws-lambda-powertools/logger/types';
import { BodyInit } from 'undici-types/fetch';
declare class HttpClient implements IHttpClient {
private headers;
private baseUrl;
private logger;
constructor(logger: LoggerInterface);
/**
*
* @returns The configuration service base URL
*/
getBaseUrl(): string;
setBaseUrl(baseUrl: string): void;
setCommonHeaders(headers: Record<string, string>): void;
request(httpMethod: string, path: string, query?: URLSearchParams, body?: any): Promise<any>;
/**
*
* @param url
* @returns
*/
downloadFile(url: string, query?: URLSearchParams): Promise<ArrayBuffer>;
/**
* Upload a file to the Studio transfer server.
*
*
* @param body
* @param size
* @param contentType
* @param ticket
* @param studiobaseUrl The Studio base url
*
* @returns The url to the uploaded file
*/
uploadFile(body: BodyInit, size: number | null, contentType: string, ticket: string, studiobaseUrl: string): Promise<string>;
/**
* @param {object} data
* @private
*/
_checkResponse(data: ResponseBase | null): ResponseBase;
_sanitizeUrl(url: string): string;
}
export { HttpClient };