MCPcopy Create free account
hub / github.com/middleapi/orpc / encodeResponseMessage

Function encodeResponseMessage

packages/standard-server-peer/src/codec.ts:266–294  ·  view source on GitHub ↗
(
  id: string,
  type: T,
  payload: ResponseMessageMap[T],
)

Source from the content-addressed store, hash-verified

264}
265
266export async function encodeResponseMessage<T extends keyof ResponseMessageMap>(
267 id: string,
268 type: T,
269 payload: ResponseMessageMap[T],
270): Promise<EncodedMessage> {
271 if (type === MessageType.EVENT_ITERATOR || type === MessageType.ABORT_SIGNAL) {
272 return encodeRawMessage(serializeResponseMessage(id, type, payload))
273 }
274
275 const response = payload as StandardResponse
276 const { body: processedBody, headers: processedHeaders } = await serializeBodyAndHeaders(
277 response.body,
278 response.headers,
279 )
280
281 const modifiedResponse: StandardResponse = {
282 ...response,
283 body: processedBody instanceof Blob ? undefined : processedBody,
284 headers: processedHeaders,
285 }
286
287 const baseMessage = serializeResponseMessage(id, MessageType.RESPONSE, modifiedResponse)
288
289 if (processedBody instanceof Blob) {
290 return encodeRawMessage(baseMessage, processedBody)
291 }
292
293 return encodeRawMessage(baseMessage)
294}
295
296export async function decodeResponseMessage(raw: EncodedMessage): Promise<DecodedResponseMessage> {
297 const { json: message, buffer } = await decodeRawMessage(raw)

Callers 10

rpc-link.test.tsFile · 0.90
rpc-link.test.tsFile · 0.90
plugin.test.tsFile · 0.90
object.test.tsFile · 0.90
utils.test.tsFile · 0.90
upgradeMethod · 0.90
codec.test.tsFile · 0.90
client.test.tsFile · 0.90
constructorMethod · 0.90

Calls 3

encodeRawMessageFunction · 0.85
serializeResponseMessageFunction · 0.85
serializeBodyAndHeadersFunction · 0.85

Tested by

no test coverage detected