UNPKG

@anthropic-ai/bedrock-sdk

Version:

The official TypeScript library for the Anthropic Bedrock API

56 lines 2.43 kB
"use strict"; // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. Object.defineProperty(exports, "__esModule", { value: true }); exports.addRequestID = exports.defaultParseResponse = void 0; const streaming_1 = require("../core/streaming.js"); const log_1 = require("./utils/log.js"); async function defaultParseResponse(client, props) { const { response, requestLogID, retryOfRequestLogID, startTime } = props; const body = await (async () => { if (props.options.stream) { (0, log_1.loggerFor)(client).debug('response', response.status, response.url, response.headers, response.body); // Note: there is an invariant here that isn't represented in the type system // that if you set `stream: true` the response type must also be `Stream<T>` if (props.options.__streamClass) { return props.options.__streamClass.fromSSEResponse(response, props.controller); } return streaming_1.Stream.fromSSEResponse(response, props.controller); } // fetch refuses to read the body when the status code is 204. if (response.status === 204) { return null; } if (props.options.__binaryResponse) { return response; } const contentType = response.headers.get('content-type'); const mediaType = contentType?.split(';')[0]?.trim(); const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json'); if (isJSON) { const json = await response.json(); return addRequestID(json, response); } const text = await response.text(); return text; })(); (0, log_1.loggerFor)(client).debug(`[${requestLogID}] response parsed`, (0, log_1.formatRequestDetails)({ retryOfRequestLogID, url: response.url, status: response.status, body, durationMs: Date.now() - startTime, })); return body; } exports.defaultParseResponse = defaultParseResponse; function addRequestID(value, response) { if (!value || typeof value !== 'object' || Array.isArray(value)) { return value; } return Object.defineProperty(value, '_request_id', { value: response.headers.get('request-id'), enumerable: false, }); } exports.addRequestID = addRequestID; //# sourceMappingURL=parse.js.map