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

Function serializeRequestMessage

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

Source from the content-addressed store, hash-verified

99 * New serialization functions without Blob handling
100 */
101export function serializeRequestMessage<T extends keyof RequestMessageMap>(
102 id: string,
103 type: T,
104 payload: RequestMessageMap[T],
105): BaseMessageFormat {
106 if (type === MessageType.EVENT_ITERATOR) {
107 const eventPayload = payload as EventIteratorPayload
108 const serializedPayload: SerializedEventIteratorPayload = {
109 e: eventPayload.event,
110 d: eventPayload.data,
111 m: eventPayload.meta,
112 }
113
114 return { i: id, t: type, p: serializedPayload }
115 }
116
117 if (type === MessageType.ABORT_SIGNAL) {
118 return { i: id, t: type, p: payload }
119 }
120
121 const request = payload as RequestMessageMap[MessageType.REQUEST]
122
123 const serializedPayload: SerializedRequestPayload = {
124 u: request.url.toString().replace(SHORTABLE_ORIGIN_MATCHER, '/'),
125 b: request.body,
126 h: Object.keys(request.headers).length > 0 ? request.headers : undefined,
127 m: request.method === 'POST' ? undefined : request.method,
128 }
129
130 return {
131 i: id,
132 p: serializedPayload,
133 }
134}
135
136export function deserializeRequestMessage(message: BaseMessageFormat): DecodedRequestMessage {
137 const id: string = message.i

Callers 4

constructorMethod · 0.90
codec.test.tsFile · 0.90
encodeRequestMessageFunction · 0.85

Calls 2

toStringMethod · 0.80
replaceMethod · 0.65

Tested by

no test coverage detected