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

Function encodeRequestMessage

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

Source from the content-addressed store, hash-verified

218 */
219
220export async function encodeRequestMessage<T extends keyof RequestMessageMap>(
221 id: string,
222 type: T,
223 payload: RequestMessageMap[T],
224): Promise<EncodedMessage> {
225 if (type === MessageType.EVENT_ITERATOR || type === MessageType.ABORT_SIGNAL) {
226 return encodeRawMessage(serializeRequestMessage(id, type, payload))
227 }
228
229 const request = payload as RequestMessageMap[MessageType.REQUEST]
230
231 const { body: processedBody, headers: processedHeaders } = await serializeBodyAndHeaders(
232 request.body,
233 request.headers,
234 )
235
236 const modifiedRequest: RequestMessageMap[MessageType.REQUEST] = {
237 ...request,
238 body: processedBody instanceof Blob ? undefined : processedBody,
239 headers: processedHeaders,
240 }
241
242 const baseMessage = serializeRequestMessage(id, MessageType.REQUEST, modifiedRequest)
243
244 if (processedBody instanceof Blob) {
245 return encodeRawMessage(baseMessage, processedBody)
246 }
247
248 return encodeRawMessage(baseMessage)
249}
250
251export async function decodeRequestMessage(raw: EncodedMessage): Promise<DecodedRequestMessage> {
252 const { json: message, buffer } = await decodeRawMessage(raw)

Callers 11

constructorMethod · 0.90
object.test.tsFile · 0.90
utils.test.tsFile · 0.90
codec.test.tsFile · 0.90
constructorMethod · 0.90
server.test.tsFile · 0.90

Calls 3

encodeRawMessageFunction · 0.85
serializeRequestMessageFunction · 0.85
serializeBodyAndHeadersFunction · 0.85

Tested by

no test coverage detected