Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | 1x 1x | import { config } from "../config"; import { createMockApiRequest } from "../utils/helpers"; import { DidSearchResult } from "../types"; export class SertoSearchService { public url; constructor(url?: string) { this.url = url || config.SEARCH_API_URL; } public async getEntries(domain?: string): Promise<DidSearchResult[]> { return this.request("/v1/search/", "POST", { domain }); } private async request(path: string, method: "GET" | "DELETE" | "POST" = "GET", body?: any): Promise<any> { const headers: any = {}; if (body) { headers["Content-Type"] = "application/json"; } const response = await fetch(`${this.url}${path}`, { method, headers, body: JSON.stringify(body), }); const responseIsJson = response.headers.get("content-type")?.indexOf("application/json") === 0; if (!response.ok) { let errorMessage; if (responseIsJson) { const errorJson = await response.json(); if (errorJson?.error?.message) { errorMessage = errorJson.error.message; if (errorJson.error.code) { errorMessage += ` (${errorJson.error.code})`; } } else { errorMessage = JSON.stringify(errorJson); } } else { errorMessage = await response.text(); } console.error("API error", response.status, errorMessage); throw new Error("API error: " + errorMessage); } if (responseIsJson) { try { return await response.json(); } catch (err) { if (response.headers.get("content-length") === "0") { throw new Error('API error: API returned invalid JSON: ""'); } throw err; } } else { return await response.text(); } } } export const mockSertoSearchService = { getEntries: createMockApiRequest([]), }; |