aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-util/src/http-client/merchant.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-util/src/http-client/merchant.ts')
-rw-r--r--packages/taler-util/src/http-client/merchant.ts69
1 files changed, 0 insertions, 69 deletions
diff --git a/packages/taler-util/src/http-client/merchant.ts b/packages/taler-util/src/http-client/merchant.ts
deleted file mode 100644
index d23bdeb17..000000000
--- a/packages/taler-util/src/http-client/merchant.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- This file is part of GNU Taler
- (C) 2022-2024 Taler Systems S.A.
-
- GNU Taler is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
- */
-
-import { HttpRequestLibrary } from "../http-common.js";
-import { HttpStatusCode } from "../http-status-codes.js";
-import { createPlatformHttpLib } from "../http.js";
-import { LibtoolVersion } from "../libtool-version.js";
-import {
- FailCasesByMethod,
- ResultByMethod,
- opSuccess,
- opUnknownFailure,
-} from "../operation.js";
-import { codecForMerchantConfig } from "./types.js";
-
-export type TalerMerchantResultByMethod<
- prop extends keyof TalerMerchantHttpClient,
-> = ResultByMethod<TalerMerchantHttpClient, prop>;
-export type TalerMerchantErrorsByMethod<
- prop extends keyof TalerMerchantHttpClient,
-> = FailCasesByMethod<TalerMerchantHttpClient, prop>;
-
-/**
- */
-export class TalerMerchantHttpClient {
- httpLib: HttpRequestLibrary;
- public readonly PROTOCOL_VERSION = "6:0:2";
-
- constructor(
- readonly baseUrl: string,
- httpClient?: HttpRequestLibrary,
- ) {
- this.httpLib = httpClient ?? createPlatformHttpLib();
- }
-
- isCompatible(version: string): boolean {
- const compare = LibtoolVersion.compare(this.PROTOCOL_VERSION, version);
- return compare?.compatible ?? false;
- }
- /**
- * https://docs.taler.net/core/api-merchant.html#get--config
- *
- */
- async getConfig() {
- const url = new URL(`config`, this.baseUrl);
- const resp = await this.httpLib.fetch(url.href, {
- method: "GET",
- });
- switch (resp.status) {
- case HttpStatusCode.Ok:
- return opSuccess(resp, codecForMerchantConfig());
- default:
- return opUnknownFailure(resp, await resp.text());
- }
- }
-}