/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { HttpMethodEnum, HttpMethodEnum$inboundSchema, HttpMethodEnum$outboundSchema, } from "./httpmethodenum.js"; import { HttpRequestKeyValuePairDto, HttpRequestKeyValuePairDto$inboundSchema, HttpRequestKeyValuePairDto$Outbound, HttpRequestKeyValuePairDto$outboundSchema, } from "./httprequestkeyvaluepairdto.js"; /** * Request body as a raw JSON string. Key-value arrays are supported for legacy workflows. */ export type Body = string | Array; export type HttpRequestControlDto = { /** * HTTP method */ method: HttpMethodEnum; /** * Target URL for the HTTP request */ url: string; /** * Request headers as key-value pairs */ headers?: Array | undefined; /** * Request body as a raw JSON string. Key-value arrays are supported for legacy workflows. */ body?: string | Array | undefined; /** * JSON schema to validate response body against */ responseBodySchema?: { [k: string]: any } | undefined; /** * Whether to enforce response body schema validation */ enforceSchemaValidation?: boolean | undefined; /** * Whether to continue workflow execution on failure */ continueOnFailure?: boolean | undefined; }; /** @internal */ export const Body$inboundSchema: z.ZodType = z .union([z.string(), z.array(HttpRequestKeyValuePairDto$inboundSchema)]); /** @internal */ export type Body$Outbound = string | Array; /** @internal */ export const Body$outboundSchema: z.ZodType = z.union([z.string(), z.array(HttpRequestKeyValuePairDto$outboundSchema)]); export function bodyToJSON(body: Body): string { return JSON.stringify(Body$outboundSchema.parse(body)); } export function bodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Body$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Body' from JSON`, ); } /** @internal */ export const HttpRequestControlDto$inboundSchema: z.ZodType< HttpRequestControlDto, z.ZodTypeDef, unknown > = z.object({ method: HttpMethodEnum$inboundSchema, url: z.string(), headers: z.array(HttpRequestKeyValuePairDto$inboundSchema).optional(), body: z.union([z.string(), z.array(HttpRequestKeyValuePairDto$inboundSchema)]) .optional(), responseBodySchema: z.record(z.any()).optional(), enforceSchemaValidation: z.boolean().optional(), continueOnFailure: z.boolean().optional(), }); /** @internal */ export type HttpRequestControlDto$Outbound = { method: string; url: string; headers?: Array | undefined; body?: string | Array | undefined; responseBodySchema?: { [k: string]: any } | undefined; enforceSchemaValidation?: boolean | undefined; continueOnFailure?: boolean | undefined; }; /** @internal */ export const HttpRequestControlDto$outboundSchema: z.ZodType< HttpRequestControlDto$Outbound, z.ZodTypeDef, HttpRequestControlDto > = z.object({ method: HttpMethodEnum$outboundSchema, url: z.string(), headers: z.array(HttpRequestKeyValuePairDto$outboundSchema).optional(), body: z.union([ z.string(), z.array(HttpRequestKeyValuePairDto$outboundSchema), ]).optional(), responseBodySchema: z.record(z.any()).optional(), enforceSchemaValidation: z.boolean().optional(), continueOnFailure: z.boolean().optional(), }); export function httpRequestControlDtoToJSON( httpRequestControlDto: HttpRequestControlDto, ): string { return JSON.stringify( HttpRequestControlDto$outboundSchema.parse(httpRequestControlDto), ); } export function httpRequestControlDtoFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => HttpRequestControlDto$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'HttpRequestControlDto' from JSON`, ); }