Spaces:
Paused
Paused
| import { BROKEN_CONNECTION_MSG } from "../constants"; | |
| import type { PostResponse } from "../types"; | |
| import { Client } from ".."; | |
| export async function post_data( | |
| this: Client, | |
| url: string, | |
| body: unknown, | |
| additional_headers?: any | |
| ): Promise<[PostResponse, number]> { | |
| const headers: { | |
| Authorization?: string; | |
| "Content-Type": "application/json"; | |
| } = { "Content-Type": "application/json" }; | |
| if (this.options.hf_token) { | |
| headers.Authorization = `Bearer ${this.options.hf_token}`; | |
| } | |
| try { | |
| var response = await this.fetch(url, { | |
| method: "POST", | |
| body: JSON.stringify(body), | |
| headers: { ...headers, ...additional_headers }, | |
| credentials: "include" | |
| }); | |
| } catch (e) { | |
| return [{ error: BROKEN_CONNECTION_MSG }, 500]; | |
| } | |
| let output: PostResponse; | |
| let status: number; | |
| try { | |
| output = await response.json(); | |
| status = response.status; | |
| } catch (e) { | |
| output = { error: `Could not parse server response: ${e}` }; | |
| status = 500; | |
| } | |
| return [output, status]; | |
| } | |