{"version":3,"file":"HttpService.mjs","sources":["../../../src/http/HttpService.ts"],"sourcesContent":["import { RawResponse } from \"../models/http/RawResponse\";\nimport { QueryParams } from \"../models/http/params\";\nimport { fetch } from \"./utils\";\n\n/**\n * Available HTTP request methods.\n */\nenum RequestMethods {\n  POST = \"post\",\n}\n\n/**\n * A service for HTTP Requests.\n *\n * @internal\n */\nexport interface HttpService {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  post<K extends Record<string, any>>(\n    url: string,\n    queryParams: QueryParams,\n    body: K,\n    apiKey: string\n  ): Promise<RawResponse>;\n}\n\n/**\n * A concrete implementation of the HttpService interface\n *\n * @internal\n */\nexport class HttpServiceImpl implements HttpService {\n  /**\n   * Performs a POST request.\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  async post<K extends Record<string, any>>(\n    url: string,\n    queryParams: QueryParams,\n    body: K,\n    apiKey: string\n  ): Promise<RawResponse> {\n    const res = await fetch(url, queryParams, {\n      method: RequestMethods.POST,\n      body: JSON.stringify(body),\n      mode: \"cors\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"api-key\": apiKey,\n      },\n    });\n    return res;\n  }\n}\n"],"names":[],"mappings":";;AAIA;;AAEG;AACH,IAAK,cAEJ,CAAA;AAFD,CAAA,UAAK,cAAc,EAAA;AACjB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAFI,cAAc,KAAd,cAAc,GAElB,EAAA,CAAA,CAAA,CAAA;AAiBD;;;;AAIG;MACU,eAAe,CAAA;AAC1B;;AAEG;;IAEH,MAAM,IAAI,CACR,GAAW,EACX,WAAwB,EACxB,IAAO,EACP,MAAc,EAAA;QAEd,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE;YACxC,MAAM,EAAE,cAAc,CAAC,IAAI;AAC3B,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,SAAS,EAAE,MAAM;AAClB,aAAA;AACF,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,GAAG,CAAC;KACZ;AACF;;;;"}