MCPcopy Index your code
hub / github.com/simstudioai/sim / requestRaw

Function requestRaw

apps/sim/lib/api/client/request.ts:213–249  ·  view source on GitHub ↗
(
  contract: C,
  input: ApiClientRequest<C>,
  options: ApiRawRequestOptions = {}
)

Source from the content-addressed store, hash-verified

211}
212
213export async function requestRaw<C extends AnyApiRouteContract>(
214 contract: C,
215 input: ApiClientRequest<C>,
216 options: ApiRawRequestOptions = {}
217): Promise<Response> {
218 const parsedParams = parseOptionalSchema(contract.params, input.params)
219 const parsedQuery = parseOptionalSchema(contract.query, input.query)
220 const parsedBody = parseOptionalSchema(contract.body, input.body)
221 const parsedHeaders = parseOptionalSchema(contract.headers, input.headers)
222
223 const url = appendQuery(replacePathParams(contract.path, parsedParams), parsedQuery)
224 const hasBody = parsedBody !== undefined && contract.method !== 'GET'
225 const headers = {
226 ...buildHeaders(parsedHeaders, hasBody),
227 ...options.headers,
228 }
229
230 const response = await fetch(url, {
231 method: contract.method,
232 headers,
233 body: hasBody ? JSON.stringify(parsedBody) : undefined,
234 signal: input.signal,
235 cache: options.cache,
236 })
237
238 if (!response.ok) {
239 const { parsed, raw } = await readResponseBody(response)
240 throw new ApiClientError({
241 status: response.status,
242 message: messageFromErrorBody(parsed, `Request failed with ${response.status}`),
243 body: parsed,
244 rawBody: raw,
245 })
246 }
247
248 return response
249}

Callers 2

useWandFunction · 0.90

Calls 6

parseOptionalSchemaFunction · 0.85
appendQueryFunction · 0.85
replacePathParamsFunction · 0.85
readResponseBodyFunction · 0.85
messageFromErrorBodyFunction · 0.85
buildHeadersFunction · 0.70

Tested by

no test coverage detected